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。