迁移网站后出错:Strict standards: declaration of trustads::uploadInfoImage() should be compatible wit

php - How to eliminate php5 Strict standards errors? - Stack Overflow
to customize your list.
Join the Stack Overflow Community
Stack Overflow is a community of 6.2 million programmers, just like you, helping each other.
J it only takes a minute:
After upgrading my PHP to 5.4.3 (WAMP server 2.2), my web app made in CakePHP 1.3, is showing the following errors in my index:
Strict standards: Redefining already defined constructor for class Object in C:\...\cake\cake\libs\object.php on line 63
Strict standards: Non-static method Configure::getInstance() should not be called statically in C:\...\cake\cake\bootstrap.php on line 49
After some research I've found that some people solve this problem by setting the "error_reporting" in php.ini file to "E_ALL & ~E_STRICT".
I did that in both php.ini files (C:\wamp\bin\php\php5.4.3 and C:\wamp\bin\apache\apache2.4.2\bin) that I have in my computer, and it didn't solve my problem.
I also tried to put "php_value error_reporting 6143" in C:...\cake.htaaccess but without success.
Does anybody know how can I solve this? (I can't upgrade my CakePHP because firebird)
17.4k114960
One of the changes in php 5.4 is that E_STRICT is now part of E_ALL
So, in your /cake/bootstrap.php you could remove the E_STRICT from your error reporting:
error_reporting(E_ALL ^ E_STRICT);
and be compatible again with before 5.4 versions.
14.6k52145
Did you find this question interesting? Try our newsletter
Sign up for our newsletter and get our top new questions delivered to your inbox ().
Subscribed!
Success! Please click the link in the confirmation email to activate your subscription.
Instead of modifying the cake core files, which sucks if you want to update your cake version, go into your Config/core.php file and look for the error handler configuration:
Configure::write('Error', array(
'handler' =& 'ErrorHandler::handleError',
'level' =& E_ALL & ~E_DEPRECATED,
'trace' =& true
and replace 'level' with this:
'level' =& E_ALL & ~E_STRICT & ~E_DEPRECATED,
Please replace
error_reporting = E_ALL
in your php.ini, with
error_reporting = E_ALL & ~E_STRICT
error_reporting(E_ALL ^ E_STRICT);
which is shown in the accepted answer to this question did not work and gave an Infinite loop detected in JError error for my Joomla website.
You are using newer php version. in php 5.4, E_STRICT is part of E_ALL
in cake 1.3, open file /cake/bootstrap.php and change the error_reporting like this
error_reporting(E_ALL & ~E_STRICT & ~E_DEPRECATED);
If you're fighting with PHP Strict warnings in cake console output, take a look into your app/config/core.php.
In CakePhp 1.3 error_reporting(...) is overwritten by the 'log' option, so ensure you exclude E_STRICT here:
* CakePHP Log Level:
* In case of Production Mode CakePHP gives you the possibility to continue logging errors.
* The following parameters can be used:
Boolean: Set true/false to activate/deactivate logging
Configure::write('log', true);
Integer: Use built-in PHP constants to set the error level (see error_reporting)
Configure::write('log', E_ERROR | E_WARNING);
Configure::write('log', E_ALL ^ E_NOTICE);
Configure::write('log', E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE);
2,81722340
Make sure you've updated the correct php.ini file - if you create a php file in your root directory with the following code
phpinfo();
and load it in your web browser it will tell you which ini file is being used, in case you missed one.
It's also possible that an htaccess file is setting that value via the php_flag error_reporting value, which can also be set per directory.
5,46832762
File bootstrap.php from folder (root)cake
if (!defined('E_ALL')) {
define('E_ALL', 8192);
File debugger.php from folder (root)cake\libs
error_reporting(E_ALL ^ ~E_STRICT ^ ~E_DEPRECATED);
Your Answer
Sign up or
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Post as a guest
By posting your answer, you agree to the
Not the answer you're looking for?
Browse other questions tagged
Stack Overflow works best with JavaScript enabledphp - Strict Standards: Non-static method DatabaseConnection::getConnection() should not be called statically in - Stack Overflow
to customize your list.
Join the Stack Overflow Community
Stack Overflow is a community of 6.2 million programmers, just like you, helping each other.
J it only takes a minute:
This question already has an answer here:
I'm using php, and the following line produces an error I've not been able to fix:
self::$connection = DatabaseConnection::getConnection();
8,45083767
marked as duplicate by , , , ,
This question has been asked before and already has an answer. If those answers do not fully address your question, please .
The message is telling you that DatabaseConnection-&getConnection(); is not a static method.
The difference is that static methods are called on a class and using the :: operator. Non-static methods (instance methods), are called on an instance of the class and using the -& operator.
PHP allowed non-static methods to be called in a static way, as long as they don't use any instance properties. With error reporting set to strict, it will throw this error though.
To solve it, either create a DatabaseConnection instance to call the method on, or change its declaration to static if it should be a static method.
You can also make error reporting less strict, but that's the wrong way to solve it in my book,
84.2k682132
Not the answer you're looking for?
Browse other questions tagged
Stack Overflow works best with JavaScript enabled随笔分类 - PHP
摘要: 下载与说明:/google/protobufGoogle Protocol Buffer 的使用和原理:/developerworks/cn/linux/l-cn-gpb/安装:$ ./autogen.sh$ ./configu...
洒洒 阅读(104) |
摘要: utf-7 XSS :http://lcx.cc/?i=2862
洒洒 阅读(75) |
摘要: php5.3有一个非常赞的新特性,那就是支持匿名函数(闭包)。匿名函数可用于动态创建函数,并保存到一个变量中。function operate($operator){ if($operator == &-&){ return function($a,$b){ ...
洒洒 阅读(109) |
摘要: 参考:详说fastcgi,php-fpm的区别:/q/6516什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?:http://www./articles/what-is-c...
洒洒 阅读(59) |
摘要: PHP-redis:http://pecl.php.net/package/redisPHP-redis中文文档(redis各种方法介绍):/weafer/archive//2184059.htmlRedis的常识:http://blo...
洒洒 阅读(78) |
摘要: 上线前的准备:1.是在本地测试的时候,以为页面上没有php的warning代码就是正确的,没有查看apache的error_log中相关的记录,然后就直接上线了。
洒洒 阅读(32) |
摘要: function reformMD5($pwd) { $totalStr = &JINRONGGONGCHANGAPPMDINJINYUDASHAJINHONGDONGPRODUCT&; $pwd = strtoupper($pwd); ...
洒洒 阅读(138) |
摘要: 内置函数:1.error_log() ,第三个参数不能是绝对路径,必须是相对路径。写入文件:error_log(&warn:\nthis is a warn!\n&,3,&1.txt&);发送邮件:error_log(&A custom error has been triggered&,1,&so...
洒洒 阅读(47) |
摘要: ^参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1。即: 0^0 = 0, 1^0 = 1, 0^1 = 1, 1^1 = 0按位异或的3个特点:(1) 0^0=0,0^1=1 0异或任何数=任何数(2) 1^0=1,1^1=0 1异或任何...
洒洒 阅读(64) |
摘要: 思路一:& 5;//取$int30位长度,每次右移5位,正好可以得到6个组 } $output[] = $ } return $}$urls = shorturl('');echo &&;var_dump($ur...
洒洒 阅读(46) |
摘要: 一、快速排序法
洒洒 阅读(56) |
摘要: nginx命令 停止nginx服务:# /etc/init.d/nginx stop 启动nginx服务:# /etc/init.d/nginx start 编辑nginx配置文件:# vim /etc/nginx/nginx.conf/etc/init.d/php-fpmrestartservic...
洒洒 阅读(1337) |
摘要: 单元测试 PHPUnitassertTrue:是单元测试的方法,有很多这样的方法。 * 模块安装和用法看PHPUnit官网。 */class RemoteConnectTest extends PHPUnit_Framework_TestCase{ public function setUp(...
洒洒 阅读(67) |
摘要: register_shutdown_function — Register a function for execution on shutdown。 ps:Registers acallbackto be executed after script execution finishes or...
洒洒 阅读(669) |
摘要: php的trycatch与其它语言的trycatch相比有许多不同,而且用起来相对比较不爽。 php中,如果你制作的站点相对较大,同时模块化,并且在错误处理机制上有一套自己的处理机制,可以尝试使用trycatch,否则,可以考虑不使用它。 PHP的trycatch是捕获异常,但它却无法捕获P...
洒洒 阅读(58) |
摘要: YII知识小结:1.YII默认控制器为 SiteController 默认控制器可以通过配置文件 application/config/main.php修改,指定 defaultController即可, 如 'defaultController' =& 'home',2.控制器的默认方法为acti...
洒洒 阅读(11250) |
摘要: ZendStudio 10.5安装:.cn/s/blog_7c8dc2d50101nhvb.htmlPHP+MySQL+Apache开发环境安装:XAMPPhttp://blog.csdn.net/exsystem/article/details/276236...
洒洒 阅读(155) |
摘要: 出生年不能大于当前年份!&; //当前年份等于出生年份 }elseif($y==0){ if($m同年则出生月不能大于当前月份!&; }elseif($m==0){ if($d同年同月则出生日不能大于当前日!&; }elseif($d==0){ return 0;//'刚出生!' }else{ return 0; } }else{ return 0; } ...
洒洒 阅读(253) |
摘要: “不要用等号去比较浮点数”的“真理”--有时候浮点数比较不会出问题,但是并不是所有情况的浮点数比较都是对的,请看下面例子。结果是:float(12300)float(12300)bool(false)*其实要比较两个浮点数的大小,可以用bccomp(参数1,参数2,小数位)来比较。结果是:loat(12300)float(12300)int(0) // 0表示两个浮点数值相等
洒洒 阅读(112) |
摘要: 获取客户端IP的常用方法和注意事项:进阶一:常用的方法,但是不够严谨。function getIP() { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $realip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { $realip = $_SERVER['HTTP_CLIENT_IP']; } else { $realip = $_SERVER['REM..
洒洒 阅读(105) |
摘要: WORD:部分加这个是为了实现打印的时候分页 */$wordStr = ''; $wordStr = &hellothis is html code&; $wordStr .= ''; //防止导出乱码 $file = iconv(&utf-8&, &GBK&, $filename); header(&Content-Type: application/doc&); header(&Content-Disposition: filename=&quo
洒洒 阅读(3126) |
摘要: tip1:传入参数使用标准的输入和输出 PHP CLI会定义三个常量,以便让在命令行提示符下与解释器进行交互操作更加容易。这些常量见表格A。表格A常量说明STDIN标准的输入设备STDOUT标准的输出设备STDERR标准的错误设备 你可以在自己的PHP脚本里使用这三个常量,以接受用户的输入,或者显示处理和计算的结果。要更好地理解这一点,可以看看下面的脚本(列表A):fwrite(STDOUT, &enter the cron password:&);$salt = trim(fgets(STDIN));if($salt != &ASD12FL93LK&)
洒洒 阅读(53) |
摘要: 转载 :PHP中常见的session问题及session原理 /home.php?mod=space&uid=71501&do=blog&id=38868session: 通过在服务器上存储用户信息以便随后使用,PHP session 解决了这个问题(...
洒洒 阅读(168) |
摘要: (1)邮箱验证:/^[_-a-z|A-Z|0-9]+\-?\_?[a-z|A-Z|0-9]+@[a-z|A-Z|0-9]+\.?[a-z|A-Z|0-9]+\.?[a-z|A-Z|0-9]+[a-z|A-Z]+$/i(2)分组:0 是整个正则表达式匹配到的内容1 2 3 ... 分别代表第1/2/3个括号匹配到的内容, 这里的括号是指可捕获的子表达式,如果在括号里面加了?:就不会被捕获。输出:array(4) { [0]=&string(16) && [1]=&string(7) &http://& [2]=
洒洒 阅读(73) |
摘要: 简介: 防止名称冲突。原理: 类似文件目录/usr/local这样的。用法: namespace:定义命名空间; use:取别名;代码示例:file 1.phpfile 2.php注意:如果用use foo,但是后面没有取别名as a,则会出现错误提示:Warning: The use statement with non-compound name 'foo' has no effect in。再看一个例子:1.php2.phpeat();?&注意:如果2.php文件里不包含1.php(include '1.php')则会找不到1.php里定义的方法或者
洒洒 阅读(865) |
摘要: PHP 的 HTTP 认证机制仅在 PHP 以 Apache 模块方式运行时才有效,因此该功能不适用于 CGI 版本。在 Apache 模块的 PHP 脚本中,可以用 header() 函数来向客户端浏览器发送&Authentication Required&信息,使其弹出一个用户名/密码输入窗口。当用户输入用户名和密码后,包含有 URL 的 PHP 脚本将会再次和预定义变量 PHP_AUTH_USER、PHP_AUTH_PW 和 AUTH_TYPE 一起被调用,这三个变量分别被设定为用户名,密码和认证类型。预定义变量保存在 $_SERVER 或者 $H
洒洒 阅读(2722) |
摘要: 简介: Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from r
洒洒 阅读(407) |
摘要: 简介:pear是php扩展与应用库(the php extension and application repository)的缩写。它是一个php扩展及应用的一个代码仓库。 编码规范:参考(/html/webkaifa/PHP/PHPyingyong...
洒洒 阅读(153) |
摘要: 新浪微博接口调用数据代码:a';//取session中的code$code = $_SESSION['code'];/** * 过程2:换取Access Token * /oauth2/access_token * ?client_id=YOUR_CLIENT_ID * &client_secret=YOUR_CLIENT_SECRET * &grant_type=authorization_code * &redirect_uri=YOUR_REGISTERED_REDIRECT_URI * &
洒洒 阅读(944) |
摘要: 用php获取js变量的值
洒洒 阅读(477) |
摘要: BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。这个标记是可选的,因为UTF8字节没有顺序,所以它可以被用来检测一个字节流是否是UTF-8编码的。微软做这种检测,但有些软件不做这种检测, 而把它当作正常字符处理。 微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节, windows上面的notepad等程序就是根据这三个字节来确定一个文本文件是ASCII的还是UTF-8的, 然而这个只是微软暗自作的标记, 其它平台上并没有对UTF-8文本文件做个这样的标记。 也 就.
洒洒 阅读(136) |
摘要: 1.js中用得没引号可用了。 案例:echo &tt& 我这样用的没引号用了,该怎么办呢?里面的ss应该如何用引号引起来呢?解决方法:用转义,如:echo &tt&2.php中单双引号的区别。单引号:直接引用字符串,如果里面有变量,也是直接输出,不解释,如'$name is here!'直接输出name is here!,效率更高;双引号:会解释其中的变量。
洒洒 阅读(144) |
摘要: php的引用(就是在变量或者函数、对象等前面加上&符号) //最重要就是 删除引用的变量 ,只是引用的变量访问不了,但是内容并没有销毁 在PHP 中引用的意思是:不同的名字访问同一个变量内容.变量的引用 PHP 的引用允许你用两个变量来指向同一个内容函数的传址调用 传址调用我就不多说了 下面直接给出代码&; echo $b;//输出101?&要注意的是,在这里test(1);的话就会出错,原因是:PHP规定传递的引用不能为常量(可以看错误提示)。函数的引用返回 先看代码下面解释下: 通过这种方式$a=test();得到的其实不是函数的引用返回,这跟普通的函数调用没有区别
洒洒 阅读(34402) |
摘要: 1.获取远程文件大小:php获得远程文件大小的函数php获得远程文件大小的函数文件的大小函数为:filesize()文件是否存在的函数为:file_exits();但是这两个函数只针对本地那么:远程文件是否存在,远程文件大小 如何得知呢?搜索了一下,有人居然说,把远程文件下载过来再判断这个远程文件的大小,这是什么歪理。庆幸大部分人还是清醒的,一般应该使用判断header反馈的信息进行判断。php中如何获得header信息呢? php的函数真多,这个也不例外(1).最简单的获取远程文件大小办法$a_array = get_headers(url,true); url就是网址了,至于第二个参数就可
洒洒 阅读(48) |
摘要: 简介: ImageMagick是用C语言开发图片处理程序。可以对图片进行改变大小、旋转、锐化、减色或增加特效等操作。对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。 ImageMagick 的官网是:http://www.ImageMagick.org/script/index.php ImageMagick为php语言提供的两个扩展IMagick和MagickWand for PHP的安装。IMagick已经被php最新的版本选为内部的扩展函数库,php的手册已经有了函数说明使用文档。这个扩展是可选安装的。 ImageMa
洒洒 阅读(172) |
洒洒 阅读(50) |
摘要: 魔术变量1.__FILE__ 当前运行文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。魔术方法1.__sleep()和__weekup():执行serialize()前调用类里的__sleep()方法,并返回数组(去掉不必要的属性), 执行u...
洒洒 阅读(107) |
摘要: 要求:有一个字符串文本,大约100k,去掉之间的字符串里的分号。文本示例如下:1234;;;56&;解答代码:;1256;;;44&;echo preg_replace_callback('/(?).*?(?=)/', 'replaceSymbol', $str);function replaceSymbol($str) { return str_replace(';', '', $str[0]);}?&解释:关键在于preg_replace_callback()函数。该题分两部:第一
洒洒 阅读(610) |
摘要: 1.表单2.fsockopen();3.jquery语法:$.post ($.ajax的简写)示例代码:向页面发送 HTTP POST 请求,并获得返回的结果4.$HTTP_RAW_POST_DATA$_POST:通过 HTTP POST 方法传递的变量组成的数组。是自动全局变量。 $GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype=&multipart/form
洒洒 阅读(3543) |
摘要: Imagemagick:相关站点: ImageMagick中文站:.cn/ ImageMagick英文站:http://www.imagemagick.org/ ImageMagick的PHP手册:http://cn.php.net/imagick ImageMagick的PHP扩展:http://pecl.php.net/package/imagick
洒洒 阅读(60) |
摘要: 1.如何将zendstudio9的默认GBK编码设置为其它编码,例如UTF-8? 选择window菜单-&Preferences-&General-&Workspace,在界面当中找到“Textfileencoding”选中Other,在下拉列表中选择UTF-8就可以了。这样所有的建立的项目将使...
洒洒 阅读(123) |
摘要: 在编程时我们常会使用到i++和++i,那两者之间有什么区别呢,本教程就为大家详细介绍一下。 1、++i 的用法(以 a=++i ,i=2 为例) 先将 i 值加 1 (也就是 i=i+1 ),然后赋给变量 a (也就是 a=i ), 则最终 a 值等于 3 , i 值等于 3 。 所以 a=++i 相当于 i=i+1 ,a=i 2、i++ 的用法(以 a=i++ ,i=2 为例) 先将 i 值赋给变量 a (也就是 a=i ),然后 i 值加 1 (也就是 i=i+1 ), 则最终 a 值等于 2 ,i 值等于 3 。 所以 a=i++ 相当于 a=i , i=i+1 3、...
洒洒 阅读(39) |
摘要: /?p=31
洒洒 阅读(59) |
摘要: 1.进制转换函数:&?php function decto_bin($datalist,$bin) { static $arr=array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'); if(!is_array($datalist)) $datalist=array($datalist); if($bin==10) return $ //相同进制忽略 $bytelen=ceil(16/$bin); //获得如果是$bin进制,一.
洒洒 阅读(37) |
摘要: 编码综述: php并不是采用什么编码的问题, 而是你要输出的编码问题你把php写成u8/gb2312它都可以正常使用, 区别在于, 在chr里得到的是什么, chr虽然可以返回一个编码大于127的字符, 但是这并不意味着php可以正常解析u8/gb2312, 一个汉字在GB2312中由两个字节组成, 也就是FFFF, 而在u8里是FFFFFF, 而chr只拿到了第一个FF, 也就是255, 它并不能直接得到任何汉字的直接编码而实际上ASCII和GB2312是兼容的, 这也是为什么chr可以正常取值的原因, 因为chr并不是为了可录入的字符串取值的, 它可以安全用于任何的二进制编码, 包括图像文
洒洒 阅读(51) |
摘要: 1.单引号内的$name这样的变量不会被解析,双引号的则会。(即:单引号里的字符串是什么就输出什么)&?php$name = 'zhangsan';$str = 'He is $name';echo $?&输出:He is $name如果换成双引号,则输出:He is zhangsan
洒洒 阅读(52) |
摘要: 使用phpmailer三步骤:1.环境开启socket;2.下载phpmailer;3.require('class.phpmailer.php')。代码:&?phprequire 'class.phpmailer.php';$mail = new PHPM$mail-&IsSMTP(); // Set mailer to use SMTP$mail-&Host = ';'; // Specify main and backup ser...
洒洒 阅读(564) |
摘要: sendmail相关文件解释和配置文件详解:http://zhumeng8337797./blog/static//sendmail故障:http://www.gongzi.org/centos-mail-nosendmail....
洒洒 阅读(1885) |
摘要: PHP 5.4中的traits,是新引入的特性,中文还真不知道如何准确翻译好。其实际的目的,是为了有的场合想用多继承,但PHP又没多继承,于是就发明了这样的一个东西。 Traits可以理解为一组能被不同的类都能调用到的方法集合,但Traits不是类!不能被实例化。先来例子看下语法: &?phptrait myTrait{ function traitMethod1(){} function traitMethod2(){}}//然后是调用这个traits,语法为:class myClass{ use myT}//这样就可以通过use myTraits,调用Tra...
洒洒 阅读(5555) |
摘要: assert(): assert这个函数在php语言中是用来判断一个表达式是否成立。返回例如&?php$s = 123;assert(&is_int($s)&);?& 从这个例子可以看到字符串参数会被执行,这跟eval()类似。不过eval($code_str)只是执行符合php编码规范的$code_str。assert的用法却更详细一点。assert_option()可以用来对assert()进行一些约束和控制;默认值ASSERT_ACTIVE=1 //Assert函数的开关ASSERT_WARNING =1 //当表达式为fals
洒洒 阅读(828) |
摘要: GMP是The GNU MP Bignum Library,是一个开源的数学运算库,它可以用于任意精度的数学运算,包括有符号整数、有理数和浮点数。它本身并没有精度限制,只取决于机器的硬件情况。 本函数库能处理的数值范围只到长整数与倍浮点数的范围。若要处理超过上述范围的数值,要使用 bc 高精确度函数库 。本函数库定义了圆周率的常量 m_pi 值为 3.。函数:abs: 取得绝对值。 acos: 取得反余弦值。 asin: 取得反正弦值。 atan: 取得反正切值。 atan2: 计算二数的反正切值。 base_convert: 转换数字的进位方式。...
洒洒 阅读(3161) |
摘要: 由于Zend optimizer只支持php5.2和之前的,但是现在centos下安装的是php5.3,所以得安装ZendGuardLoader了。一、下载: 在zend网站上找到ZendGuardLoader下载地址,然后:wget ZendGuardLoader地址。二、解压: tar -zxvf 文件名三、加载ZendGuardLoader: 将ZendGuardLoader.so文件移动到php的modules目录下, 因为ZendGuardLoader.so是编译好的模块文件,所以无需安装,直接加载即可, 在php配置文件里/etc/php.ini里添加如下两行:zen...
洒洒 阅读(1747) |
摘要: /*** 获得用户的真实IP地址** @access public* @return string*/function real_ip(){static $realip = NULL;if ($realip !== NULL){return $}if (isset($_SERVER)){if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])){$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);/* 取X-Forwarded-For中第一个非un
洒洒 阅读(166) |
摘要: 区别: magic_quotes_gpc的设定值将会影响通过Get/Post/Cookies获得的数据;不能在代码中开启或者关闭;在php.ini中设置magic_quotes_gpc=1; magic_quotes_runtime的设定值将会影响从文件中读取的数据或从数据库查询得到的数据;可以在代码中开启或者关闭;在php.ini或者代码中设置magic_quotes_runtime=1; magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的\'\&\\加上反斜线。可以用get_magic_quotes_gpc()检测系统设置
洒洒 阅读(64) |
摘要: 一、表单1,上传文件的表单使用post方式;还要加上enctype='multipart/form-data'。2,一般要加上隐藏域:&inputtype=hiddenname='MAX_FILE_SIZE'value=dddddd&,位置在file域前面。value的值是上传文件的客户端字节限制。据说可以减少文件超标时客户端的等待时间,不过我没觉得有什么区别。3,file域是不许赋值的(无value=&&)。二,文件上传错误代码预定义变量$_FILES数组有5个内容:$_FILES['userfile'][&#3
洒洒 阅读(2265) |
摘要: Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术。但是现在的一些论坛程序,和部分文章系统,都巧妙的使用heredoc技术,来部分的实现了界面与代码的准分离,phpwind模板就是一个典型的例子。 1.以&&&End开始标记开始,以End结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。开始标记和开始标记相同,比如常用大写的EOT、EOD、EOF来表示,但是不只限于那几个,只要保证开始标记和结束标记不在正文中出现即可。 2.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则
洒洒 阅读(102) |
摘要: 单引号更快。 1.在php中,单引号内的数据不会被解析(任何变量和特殊转义字符),所以速度更快,而双引号内的数据会被解析,如变量($var)值会代入字符串中,特殊转义字符也会被解析成特定的单个字, 2.数组中,如果下标不是整型,而是字符串类型,请务必用单引号将下标括起,正确的写法为$array[‘key’],而不是$array[key],因为不 正确的写法会使PHP解析器认为key是一个常量,进而先判断常量是否存在,不存在时才以“key”作为下标带入表达式中,同时出发错误事件,产生一条 Notice级错误。
洒洒 阅读(1044) |
摘要: 1.PHP数组枚举$array = array(1,2,'0'=&3,4,5,'2'=&6);foreach($array AS $i){ echo $i;}输出 3 、2 、6 、5 1 和 4 被 重置 1 是被 key 等于 0 覆盖 所以 value 为 2 的 key 为 1 4 又被 key 为 2 的元素 覆盖 value 为 5 的 key 为 3
洒洒 阅读(48) |
摘要: 使用五种以上方式获取一个文件的扩展名: 要求:dir/upload.image.jpg,找出 .jpg 或者 jpg , 必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如 get_ext1($file_name), get_ext2($file_name)function get_ext1($file_name){return strrchr($file_name, '.');}function get_ext2($file_name){return substr($file_name, strrpos($file_name, '.'
洒洒 阅读(109) |
摘要: Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。 输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。 我们先举一个简单的例子,让大家对Output Control有一个大致的印象: Example 1. 复制代码 代码如下:ob_start(); //打开缓冲区 echo &Hellon&; //输出 //header(&location:index.php&
洒洒 阅读(1038) |
摘要: empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null 只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!empty 如果 变量 是非空或非零的值,则 empty() 返回FALSE。换句话说,&&、0、&0&、NULL、FALSE、array()、var $var、未定义; 以及没有任何属性的对象都将被认为是空的。isset 如果 变量 存在(非NULL)则返回TRUE,否则返回FALSE(包括未定义)。变量值设置为:null,返回也是unset一个变量后,变量被取消了。is_null 检测
洒洒 阅读(64) |
摘要: 一、采用插件。1.SWFUpload:http://demo.swfupload.org/v220/index.2.uploadify:/oec2003/archive//1640027.html.二、HTTP协议和socket???
洒洒 阅读(48) |
摘要: ECshop刚安装完成后,提示:Strict Standards: Only variables should be passed by reference in... 标头Strict Standards表示php.ini配置文件里的error_reporting的值是E_STRICT,应该改成E_ALL。 按照PHP严格的写法,array_shift()函数里应该传的是一个数组引用,这个引用只能是变量,而如果直接这样写:$tag_sel = array_shift(explode(' ', $tag));因为explode(' ', $tag)返回是是一个常
洒洒 阅读(708) |
摘要: 在安装Ecshop的时候,遇到两个问题: 1.Strict Standards: Non-static method cls_image::gd_version() should not be called statically inD:\X\www\ecshop\install\includes\lib_installer.phpon line31 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_vers...
洒洒 阅读(55167) |
摘要: 在PHP中,&==&表示等于,只要值相等就为真,&===&表示恒等于,要数据类型和值都相等才为真。 但是有以下要注意:var_dump(NULL=='NULL'); //bool(false)var_dump(NULL==='NULL');//bool(false) 因为'NULL'是字符串,有类型,有值,所以与没有类型也没有值的NULL相比较为假。
洒洒 阅读(65) |
摘要: 一、解说isset().if (isset($upload['error']) && $upload['error'] & 0){ } 一日看别人写的代码,很纳闷:既然有$upload['error'] & 0这个判断,那为何还要做isset($upload['error'])这个判断呢? 经询问,一个朋友的解说一语点睛:PHP是弱语言,数组下标不存在不会影响程序正常运行,但是默认会提示一个消息。 我明白了: 以前总是看到isset()函数的定义,说判断该变量是否设置什么的,
洒洒 阅读(206) |
摘要: 1.构造函数的作用:就是在你用new创建那个class的时候,class里的构造函数就自动执行了,不需要你再去调用,用途一般是做配置类初始化信息,比如加个类全局变量什么的,构造函数只是创建类的实例的时候自动被调用。其他地方也跟普通函数一样。 2.析构函数(destructor):与构造函数相反...
洒洒 阅读(153) |
摘要: fsockopen打开网络的 Socket 链接。语法:int fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);返回值:整数函数种类:网络系统内容说明目前这个函数提供二个 Socket 资料流界面,分别为 Internet 用的 AF_INET 及 Unix 用的 AF_UNIX。当在 Internet 情形下使用时,参数 hostname 及 port 分别代表网址及埠号。在 UNIX 情形可做 IPC,hostname 参数表示到 socket 的路径,port 配置为 0。
洒洒 阅读(228) |
摘要: php的内置函数exec、system都可以调用系统命令(dos和shell命令),passthru和escapeshellcmd也可以。 使用这两个函数就需要在php.ini中将安全模式关闭,否则为了安全期间,php是不让调用系统命令的。 exec --- 执行外部程式 语法:string exec (string command [,array &output [,int &return_var]]) 参数:1.command:系统命令; 2.output:数组,被命令输出的每一行填满; 3.return_var:状态,成功返回0,失败返回1. system ...
洒洒 阅读(2377) |
摘要: 在文件的读写的过程中会用到一个PHP函数flock()。 为了确保操作的有效性和完整性,可以通过锁机制将并发状态转换成穿行状态。假设一个应用场景:在存在较大并发的情况下,通过fwrite向文件尾部多次有序的写入数据,不加锁的情况下会发生什么?多次有序的写入操作相当于一个事务,我们此时需要保证这个事务的完整性。 函数flock():语法flock(file,lock,block)参数描述file必需。规定要锁定或释放的已打开的文件。lock必需。规定要使用哪种锁定类型。block可选。若设置为 1 或 true,则当进行锁定时阻挡其他进程。说明flock() 操作的file必须是一个已经...
洒洒 阅读(113) |
摘要: 一、详解php.iniPHP本身再老版本有一些问题,比如在 php4.3.10和php5.0.3以前有一些比较严重的bug,所以推荐使用新版。另外,目前闹的轰轰烈烈的SQL Injection也是在PHP上有很多利用方式,所以要保证 安全,PHP代码编写是一方面,PHP的配置更是非常关键。 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行 php能够更安全。整个PHP中的安全设置主要是为了防止phpshell和SQL Injection的攻击,一下我们慢慢探讨。我们先...
洒洒 阅读(25416) |
摘要: 刚搭建好的LAMP环境,centos纯净版6。安装好ecshop后,发现打不开网站,但是还是可以安装的,数据库也导入成功了。 于是打开php.ini配置文件,开启错误提示:display_errors = On。 再打开网站,有错误提示,如图: 此时以为是权限问题,于是就查看权限,ugo都有r权限,data、temp、eccore/widget也都是777权限,没问题啊,理论是可以访问的啊。 百度查找了下,看很多人说是属主不一直,需要chown -R root:root yourfilename,user和group的属主应该一致,于是查找ls -l,显示属主都是root,这也没问...
洒洒 阅读(3769) |
摘要: 参考文档:/view/9b6fe1e73867.html1.下载phpmyadmin文件:wget 链接地址2.将根目录下的config.sample.inc.php文件改名为config.inc.php(如何不改,会出现:必须启用 Cookies 才能登录。)注意:因为phpmyadmin可以自动识别数据库文件,所以只要改一下config.sample.inc.php文件名即可。另外:如果安装的mysql密码为空也不能登录,那么可以直接在putty里输入命令mysqladmin -u root password admin8
洒洒 阅读(48) |
摘要: PHP CLI(command line interface)中,有三个系统常量,分别是STDIN、STDOUT、STDERR,代表文件句柄。应用一:&?phpwhile($line = fopen('php://stdin','r')){ echo fgets($line);}?&应用二:&?php echo STDIN;?&在dos命令行下直接返回STDIN文件指针(文件句柄)。如图:应用三:&?php echo fgets(STDIN);?&STDIN可以拿到在dos下输入的内容,fgets读取这个STDIN文件句柄,即
洒洒 阅读(4410) |
摘要: “ob_flush()和flush()的区别。前者是把数据从PHP的缓冲中释放出来,后者是把不在缓冲中的或者说是被释放出来的数据发送到浏览器。所以当缓冲存在的时候,我们必须ob_flush()和flush()同时使用。正确使用的顺序是:先用ob_flush(),后用flush()。
洒洒 阅读(6314) |
摘要: 1. 轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。 优点:后端程序编写比较容易。 缺点:请求中有大半是无用,浪费带宽和服务器资源。 实例:适于小型应用。2. 长轮询:客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。 优点:在无消息的情况下不会频繁的请求。 缺点:服务器hold连接会消耗资源。 实例:WebQQ、Hi网页版、Facebook IM。另外,对于长连接和socket连接也有区分:1. 长连接:在页面里嵌入一个隐蔵iframe,将这个...
洒洒 阅读(497) |
摘要: 对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1.什么是TCP/IP、UDP?2.Socket在哪里呢?3.Socket是什么呢?4.你会使用它们吗?什么是TCP/IP、UDP?TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。这里有一张图,表明了这些协议...
洒洒 阅读(57115) |
摘要: 一、安装Apache服务器。1.下载apache软件:#wget http://mirror./apache//httpd/httpd-2.4.3.tar.2.讲下载的apache文件解压到/usr/local目录下:#tar -zxvf httpd-2.4.3.tar.gz -C /usr/local (注:要加-C,指定到目录);另外的方法:1.从rpm软件仓库里安装,命令yum install httpd(apache的rpm包名是httpd); 配置文件:/etc/httpd/conf/httpd.conf 模块文件夹:/etc/httpd/conf...
洒洒 阅读(138) |
摘要: 这段代码可以实现模拟http请求。 1.fsockopen函数打开socket连接; 2.fwrite函数把GET请求字符串写入文件指针$fp里,即可请求到1.txt这个文件。(这里的原理是: 运行-cmd-telnet 192.168.1.234 80(端口80前不要冒号)-GET /1...
洒洒 阅读(722) |
摘要: php中socket连接方式: TCP:$sock = fsockopen(&192.168.0.1&,80); UCP:$sock = fsockopen(&udp://192.168.0.1&,53);
洒洒 阅读(56) |
摘要: &?php$str = &abc&;$abc = &333&;echo $$?&以上是正确的错误,以下是按常规字符串拼接思路做错的错误结果:&?php$str = &abc&;$abc = &333&;echo &$&.$?&
洒洒 阅读(1146) |
摘要: last_insert_id():是sql函数,在数据库里执行,案例:select last_insert_id(); mysql_insert_id():是php函数,在php脚本里执行,案例:echo mysql_insert_id();
洒洒 阅读(77) |
摘要: 对于函数的引用,主要区别在于内存性能~function &load_message 和 function load_message,第一个在使用的时候也要用 &load_message声明为一个引用返回,而第二个只是将函数的结果赋值到一个变量中,该函数一般用于递归作用。 在php的引用中,还有一种常用的形式就是function gao(&$id) 和 function gao($id)这种形式的引用,我们只需要对比一下结果就可以了。 function a(&$t){ $t .= 'xx'; } function b($t){ $t .= &#39
洒洒 阅读(35) |
摘要: 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的。但在多线程情况下,就不行了。在多用户交替插入数据的情况下max(id)显然不能用。这就该使用LAST_INSERT_ID了,因为LAST_INSERT_ID是基于Connection的,只要每个线程都使用独立的Connection对象,LAST_INSERT_ID函数将返回该Connection对AUTO_INCREMENT列最新的insert or update操作生成的第一个record的ID。LAST_INSERT_ID是基于单个connection的, 不可能被其它的客户端连接改变。
洒洒 阅读(47) |
摘要: 1 &?php2 $a = 1;3 function abc(){4 global $a;5 echo $a;6 }7 abc();8 ?& 本来以为在这个php文件里,可以直接在函数中调用echo $a;后来发现并不是这样的,尽管在这个php文件的开头定义了$a;但是在函数中必须用global $a;声明$a为全局变量,$a才能在函数内被调用。
洒洒 阅读(29) |
摘要: 在写一个test.php文件的时候,里面有php代码和html代码,以前写过很多次了,恰好这次出问题了,百思不得其解。 先看代码: 1 &?php 2 header(&content-type:text/charset=utf-8&); 3 date_default_timezone_set(&Asia/Shanghai&); 4 // 5 $conn = mysql_connect(&localhost&,&root&,&&) or die(mysql_
洒洒 阅读(1019) |
摘要: 用ckeditor做的编辑器,但是在编辑文章的时候,发现按照常规方法按enter键换行时,两行之间的距离太大。点击“源码”查看时,发现按enter键换行竟然采用的是加&p&&/p&标签的形式,而不是加&br /&标签的形式。 查阅资料后,才知道ckeditor默认的换行是:enter-&加&p&&/p&,shift+enter-&加&br /&。 如果想改成直接按enter键就加&br /&的形式,可以在配置文件里加:config.enterMode = CKEDITOR.ENTER_BR;conf
洒洒 阅读(1353) |
摘要: 一、MySQL安装。 下载mysql安装版即可。很简单。 但是常见问题是:安装到最后的时候容易也是最多人出错的地方是:MySQL安装失败,提示:cannot create windows service for mysql.error:0总是在start service这步出错。 解决办法是:运行-cmd-sc delete mysql,运行成功后提示:delete success,然后再装MYSQL,即可! 如果还是不行,就干脆把以前安装的MySQL所有彻底删除即可! 注:如果之前安装过mysql是需要把之前的彻底清理干净才行的,清理的有:1.找到安装目录,删除安装文件;2.在C盘...
洒洒 阅读(260) |
摘要: 数组或者字母命名的图片都能正常上传,但是中文命名的图片上传就会出错,看着像图片名中的中文经过urlencode()过了。无奈只好将图片重命名,方法如下: 1.找到ckfinder\core\connector\php\php5\CommandHandler\FileUpload.php中第51行,找到$uploadedFile = array_shift($_FILES);行代码,在下面加上重命名图片的代码:1 //给图片重命名2 $p = explode(&.&,$uploadedFile['name']);3 $p = &cf&.ti
洒洒 阅读(105) |
摘要: urlencode()可以将非数字或者字母进行转换,比如转换中文字符,&/&等。转换后传值不会出错。 但是有以下误区常容易犯: 1.网页编码不同,urlencode后得到的值不同,这个时候需要将要转换的字符用iconv函数转一下,如:编码为GBK urlencode('脚步') = %BD%C5%B2%BD编码为UTF8 urlencode('脚步') = %E8%84%9A%E6%AD%A5 2.经过urlencode后,在浏览器里打开又转换成中文了: 解决办法:用iconv函数转一下。
洒洒 阅读(46) |
摘要: 一、ckeditor: 1.在需要添加编辑器的页面引出ckeditor.js文件:&script type=&text/javascript& src=&ckeditor/ckeditor.js&&&/script&; 2.替换&textarea&:&textarea name=&body& class=&ckeditor& id=&addBody&&&/textarea&,即在里面添加:class=&ckeditor&quo
洒洒 阅读(112) |
摘要: 1 &form action=&__URL__/lists& method=&POST&& 2 &input type=&hidden& name=&flag& value=&search&& 3 标题:&input type=&text& name=&title& value=&& class=&queryInput&& 4 文章分类:&select name=&
洒洒 阅读(39) |
摘要: 1 &?php 2 //如果答完题就跳转到结果页面 3 if($n==4){ 4 header(&Location:result/index.htm&); 5 exit(); 6 } 7 8 $n = $n+1; 9 file_put_contents($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.&n.txt&,&00&,LOCK_EX);10 ?& 如果header()跳转走后,不加exit();则会执行下面的写入语句(尽管跳转到另外
洒洒 阅读(22261) |
摘要: 详解PHP中$_SERVER函数的QUERY_STRING和 $_SERVER存储当前服务器信息,其中有几个值 如$_SERVER[&QUERY_STRING&],$_SERVER[&REQUEST_URI&],$_SERVER[&SCRIPT_NAME&] 和$_SERVER[&PHP_SELF&]常常容易混淆,以下通过实例详解$_SERVER函数中 QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF变量区别,掌握这四者之间的关系,便于在实际应用中正确获 取所需要的值,供参
洒洒 阅读(103) |
摘要: 安装和使用php的mcrypt扩展 程序员们在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障。PHP除了自带的几种加密函数外,还有功能更全面的PHP加密扩展库和。 其中,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。PHP加密扩展库Mcrypt的算法和加密模式 Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示,结果如下: Mcrypt支持的算法有:cast-128 gost rijndael-128 ...
洒洒 阅读(208) |

我要回帖

更多关于 declaration of 的文章

 

随机推荐