php问题

1. 启动Apache出现如下错误:

httpd.exe: Syntax error on line 531 of C:/Apache24/conf/httpd.conf: Cannot load c:/php56/php5apache2_4.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3

原因:Apache的版本和PHP的版本不一致,这里的一致指的是x86还是x64,以及编译时使用的vc版本如(9,10,12,14等),要一致或兼容才行


2. extension_dir的设置:要使用完整路径


3. xdebug的zend_extension的设置:要使用完整路径


4.  类似如下的问题:

Parse error: syntax error, unexpected '{'

仔细检查又没有语法问题

可能的原因文件编码的问题

解决方法:使用utf-8编码转换文件保存即可


5. tcpdf输出中文乱码

表现:在PHP中直接输入中文没问题,但是含有css文件就乱码

解决方法:移除css link


6. getenv

在CGI模式下,是不能获取环境变量,除非通过fastcgi_param和php-fpm.conf等设置了才能获取


7. 在thinkphp中进行数据库查询时,where中的参数只能是变量,不能是表达式或函数


8. 在php中位运算符的优先级低于比较运算符


9. array_filter遇到的问题

该方法返回的数据,如果数组索引不连续,会导致JSON.parse返回一个对象,而不是数组,例子如下

$a = [1, 2, 3];
$b=array_filter($a, function ($i) {
    return $i % 2 == 1;
});
echo json_encode($b);
echo json_encode($a);


10.在thinkphp中向postgresql插入数据时,如果有数据项在数据库中的类型是bool则使用字符串‘0’/'1’或'false'/'true'代替,不要直接使用true/false,因为在内部thinkphp会进行转换可能导致插入0/1,进而导致不能插入


11. thinkphp的insertAll相对于insert要求更严格,若insertAll报错,先退而求其次使用insert吧

12. php文件上传,注意临时文件所在目录的权限问题,php.ini文件中upload_tmp_dir是否设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值