1、PHP7.4以后不再能够使用花括号来访问数组或者字符串的偏移.需要将{}修改成[] 就可以解决问题
若代码逻辑中含有类似
$asc = ord($s{0}) * 256 + ord($s{1}) – 65536;
需要修改成
$asc = ord($s[0]) * 256 + ord($s[1]) – 65536;
2、php报错:Call to undefined function get_magic_quotes_gpc()
出现原因:
PHP版本6中 取消了get_magic_quotes_gpc()函数,首先这个函数的作用:是为了防止sql注入,当该函数打开时将所有单引号,双引号,反斜线和空字符转会自动转为含有反斜线的溢出字符。
PHP6取消magic_quotes机制,那么就是默认转义一些特殊字符来防止sql注入。
可以把源代码改为:(PHP_VERSION >= 6 || !get_magic_quotes_gpc())或者(PHP_VERSION < 6 && get_magic_quotes_gpc())
来提升兼容性。
3、PHP连接mysql数据库报错:Call to undefined function mysql_connect()
[client 127.0.0.1:37496] PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/test.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/test.php on line 2
代码:<?PHP
$conn=mysql_connect(“localhost”,”root”,”root”);
if($conn){
echo”ok”;
}else{
echo”error”;
}
?>
改为:
查阅资料后发现,原来是从PHP5.0开始就不推荐使用mysql_connect()函数,到了php7.0则直接废弃了该函数,替代的函数是:
mysqli_connect();
用法是:
$con=mysqli_connect(“localhost”,”my_user”,”my_password”,”my_db”);
官方的描述连接:http://php.net/manual/en/function.mysqli-connect.php
正确的测试代码:
<?PHP
$conn=mysqli_connect(“localhost”,”root”,”root”);
if($conn){
echo”ok”;
}else{
echo”error”;
}
?>
4、php出现http500错误问题的解决方法
解决方法很简单,打开PHP.ini,设置显示错误 display_errors = On 然后打开IIS,重新启动FastCGI。