Maison >développement back-end >PHP7 >Quelques pièges rencontrés lors de la mise à niveau de PHP5.9 vers PHP7 (schéma php-fpm)

Quelques pièges rencontrés lors de la mise à niveau de PHP5.9 vers PHP7 (schéma php-fpm)

藏色散人
藏色散人avant
2019-04-01 11:01:234186parcourir

Schéma apache_event_php-fpm :

Quelques pièges rencontrés lors de la mise à niveau de PHP5.9 vers PHP7 (schéma php-fpm)

Schéma nginx-php-fpm :

Quelques pièges rencontrés lors de la mise à niveau de PHP5.9 vers PHP7 (schéma php-fpm)Worker-Master-Server

Quelques pièges rencontrés lors de la mise à niveau de PHP5.9 vers PHP7 (schéma php-fpm)

TCP-Nginx_PHP

Quelques pièges rencontrés lors de la mise à niveau de PHP5.9 vers PHP7 (schéma php-fpm)

Nginx-FastCGI

Quelques pièges rencontrés lors de la mise à niveau de PHP5.9 vers PHP7 (schéma php-fpm)

1. Utilisez $_GET pour obtenir tous les paramètres. php7 aura un paramètre supplémentaire : _url, tel que l'adresse consultée <.>

http://127.0.0.1/Home/String/index2?a=12&b=19
A ce moment, le paramètre _url = "Home/String/index2"

2 En PHP7, c'est un

Error:PHP Notice: Undefined index: HTTP_USER_AGENT in line 2 

php5.9. une

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
Solution : http://stackoverflow.com/questions/16330496/php-notice-undefined-index-http-user-agent-in-line-2

if(!empty($_SERVER[&#39;HTTP_USER_AGENT&#39;])){
  $user_agent = $_SERVER[&#39;HTTP_USER_AGENT&#39;];    
} else {
  $user_agent = &#39;&#39;; 
}
3.

opérateur de fusion, PHP7 a officiellement ajouté l'opérateur NULL : ??

// 获取user参数的值(如果为空,则用&#39;nobody&#39;)
$username = $_GET[&#39;user&#39;] ?? &#39;nobody&#39;;
// 等价于:
$username = isset($_GET[&#39;user&#39;]) ? $_GET[&#39;user&#39;] : &#39;nobody&#39;;
4. Les conséquences de ne pas démarrer

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: 无法访问&#39;/var/run/php7.0.9-fpm.sock&#39;: 没有那个文件或目录
Après avoir travaillé dessus pendant longtemps, il s'avère que php-fmp n'a pas démarré. La clé est de persister et de croire en vous.

Recommandations associées : "

Tutoriel PHP<.>"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer