ホームページ >バックエンド開発 >PHP7 >PHP5.9 を PHP7 にアップグレードするときに遭遇するいくつかの落とし穴 (php-fpm 図)

PHP5.9 を PHP7 にアップグレードするときに遭遇するいくつかの落とし穴 (php-fpm 図)

藏色散人
藏色散人転載
2019-04-01 11:01:234109ブラウズ

apache_event_php-fpm 概略図:

PHP5.9 を PHP7 にアップグレードするときに遭遇するいくつかの落とし穴 (php-fpm 図)

nginx-php-fpm 概略図:

PHP5.9 を PHP7 にアップグレードするときに遭遇するいくつかの落とし穴 (php-fpm 図)ワーカー-マスター-サーバー

PHP5.9 を PHP7 にアップグレードするときに遭遇するいくつかの落とし穴 (php-fpm 図)

TCP-Nginx_PHP

PHP5.9 を PHP7 にアップグレードするときに遭遇するいくつかの落とし穴 (php-fpm 図)

Nginx-FastCGI

PHP5.9 を PHP7 にアップグレードするときに遭遇するいくつかの落とし穴 (php-fpm 図)

1. $_GET を使用してすべてのパラメータを取得します。php7 にはもう 1 つのパラメータ _url があります。 address

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

このとき、パラメータ _url = "Home/String/index2"

2 です。PHP7 では、Error: PHP Notice: Unknownindex: HTTP_USER_AGENT in行 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

Solution: http://stackoverflow.com/questions/16330496/php-notice-unknown- 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。