PHP5.9 升级到PHP7 遇到的一些坑(php-fpm 图解)

藏色散人
发布: 2023-02-17 11:50:01
转载
3834 人浏览过

apache_event_php-fpm 示意图:

b2670a85b923ebe8550815945f7d52a.png

nginx-php-fpm示意图:

361cb1b73f655beaca74f359bb4873e.pngWorker-Master-Server

3106cc7fed066f4d2478a12ad861f33.png

TCP-Nginx_PHP

16425cd62147bd0b25b402afd62657b.png

Nginx-FastCGI

6f3b9c6b7eece23612da4b8648ac305.png

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://stackoverflow.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': 没有那个文件或目录
登录后复制

搞了半天,原来php-fmp 没有启动,贵在坚持,相信自己.

相关推荐:《PHP教程

以上是PHP5.9 升级到PHP7 遇到的一些坑(php-fpm 图解)的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:cnblogs.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!