PHP5.9 升级到PHP7 可能遇到什么问题

PHP5.9 升级到PHP7 可能遇到什么问题

小编给大家分享一下PHP5.9 升级到PHP7 可能遇到什么问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

apache_event_php-fpm 示意图:

PHP5.9 升级到PHP7 可能遇到什么问题

nginx-php-fpm示意图:

PHP5.9 升级到PHP7 可能遇到什么问题Worker-Master-Server

PHP5.9 升级到PHP7 可能遇到什么问题

TCP-Nginx_PHP

PHP5.9 升级到PHP7 可能遇到什么问题

Nginx-FastCGI

PHP5.9 升级到PHP7 可能遇到什么问题

1、使用$_GET 获取所有参数,php7 会多出一个参数:_url ,例如访问的地址

http://127.0.0.1/Home/String/index2?a=12&b=19

此时的的参数_url = "Home/String/index2"

2、在PHP7 中为一个Error:PHP Notice: Undefined index: HTTP_USER_AGENT in line 2

php5.9则为一个notice

2017/03/27 10:58:09 [error] 5286#0: *851 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined index: HTTP_USER_AGENT in /home/UserAgent.php on line 9" while reading response header from upstream

解决:http://*.com/questions/16330496/php-notice-undefined-index-http-user-agent-in-line-2

if(!empty($_SERVER['HTTP_USER_AGENT'])){
  $user_agent = $_SERVER['HTTP_USER_AGENT'];    
} else {
  $user_agent = ''; 
}

3、NULL 合并运算符 ,PHP7才正式加入了??这个运算符:

// 获取user参数的值(如果为空,则用'nobody')
$username = $_GET['user'] ?? 'nobody';
// 等价于:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

4、php-fpm 没有启动的后果

2017/03/31 20:56:19 [crit] 19288#0: *1 connect() to unix:/var/run/php7.0.9-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, 
server: www.phalcon3.com, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php7.0.9-fpm.sock:", host: "127.0.0.1"
tinywan@tinywan:/usr/local/nginx/logs$ ll /var/run/php7.0.9-fpm.soc
ls: 无法访问'/var/run/php7.0.9-fpm.sock': 没有那个文件或目录

以上是“PHP5.9 升级到PHP7 可能遇到什么问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!