PHP-错误汇总

1.PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题

PHP开发时,当你使用empty检查一个函数返回的结果时会报错:Fatal error: Can't use function return value in write context
例如:
<?php
echo empty(strlen('be-evil.org'));
到PHP手册里面查看,在empty函数描述的地方有以下文字:
Note: empty() only checks variables as anything else will result in a parse error. In other words, the following will not work: empty(trim($name)).
empty() 只检测变量,检测任何非变量的东西都将导致解析错误!
因此,我们不能拿empty来直接检测函数返回的值,上面例子的解决方案如下:
<?php
$length = strlen('be-evil.org');
echo empty($length);
?>

2.CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value 2 will be used
Notice: curl_setopt_array()
此错误查看官方的一个文档,函数参数发生了变化

3.Description    Resource    Path    Location    Type
The function 'mcrypt_cbc' is no longer available in PHP 7    DES1.php    /Demo/other    line 43    PHP 7 Problems

4.PHP运行错误 – curl_exec() has been disabled for security reasons

错误提示
curl_exec() has been disabled for security reasons
错误原因
服务器php配置中禁止了curl_exec函数
解决方法:
如果有服务器管理权限,可以打开php.ini配置文件(可以通过phpinfo的输出字段 Loaded Configuration File 查看该文件所处位置,一般情况下是 C:\WINDOWS\php.ini ),搜索 disable_functions 将其后的 curl_exec 去掉,重启web服务器即可。
如果没有服务器管理权限,只能修改php程序使用其他函数来替代该函数,例如file_get_contents或者使用Snoopy网页采集类来替代。

5.处理assignment in condition警告——让代码严谨的一个小改进

问题主要出在这一句
while ($row=mysql_fetch_array($query)) {
....

在zendstudio里会出现黄色的warning,提示说:assignment in condition。
出现这样的问题代码是可以继续正常执行的,但是写法不太严谨,因为在while/if的条件中,系统期望的是一个布尔类型的值,当表达式传递的结果非布尔值类型时,就会出现这样的警告。
我们应该养成严谨的代码书写习惯,所以,这里的改进方法如下:
while (($row=mysql_fetch_array($query))!== false) 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值