Phpコンソールとphpinfoバージョン番号が一致しません
4540 ワード
本来はその
PHPアップグレード
MacはPHPを持参しているようですが、バージョン番号照会:
アップグレードというのは、実は再インストールですが、ソースコードのインストールは面倒です.ここには簡単な点があります.
最後にインストールされたディレクトリは:
そしてインストール後、
大丈夫そうだ
そして
PHPの例を走る
定番はもちろん:
ええと、直接走ることはできません.この部分を
上の
待って、
ええ、引き続き間違いを報告して、ヒント
はい、再稼働で成功しました
そこでブラウザの
コンソールとWeb側のバージョン番号が一致しません
ええ、この問題はネット上でたくさんの資料を調べました...最終的には外国人が大体の内容を頼りにしています. を示すコンソールコマンド である.
ソリューション
何が起こっているのかが分かれば問題を解決できます.見てみましょう.
(nginxを再起動する必要があるかどうか忘れました)
について述べる
最後の
Sublime Text 3
がいくつかの例を走っていたが、フォーマットプラグインphpfmt
をインストールして保存すると、現在のPHPバージョンが低すぎることがヒントになり、アップグレードを考えてアップグレードしようとしたので、ピットに連れて行かれた...PHPアップグレード
MacはPHPを持参しているようですが、バージョン番号照会:
php -v
# php
$ php -v
PHP 5.5.38 (cli) (built: Oct 29 2017 20:49:07)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
PHP5
とPHP7
は2つの大きなバージョンで、その中で異なるのは自分でネット上で探しますアップグレードというのは、実は再インストールですが、ソースコードのインストールは面倒です.ここには簡単な点があります.
# PHP7,
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.2
最後にインストールされたディレクトリは:
/usr/local/php5-7.2.2-20180201-132629
額~~、よし、なぜphp5-7.2.2
なのか...そしてインストール後、
/usr/local/php5
のリンクが/usr/local/php5-7.2.2-20180201-132629
を指しているはずです.PHPの多くの場所が/usr/local/php5
のディレクトリを指していると推測しています.$ ll /usr/local/
drwxr-xr-x 15 root wheel 510B 4 12 19:31 php5-7.2.2-20180201-132629
lrwxr-xr-x 1 xuyinglong wheel 37B 4 12 18:48 php5 -> /usr/local/php5-7.2.2-20180201-132629
#
$ /usr/local/php5-7.2.2-20180201-132629/bin/php -v
PHP 7.2.2 (cli) (built: Feb 1 2018 13:23:34) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.2, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
大丈夫そうだ
/usr/bin/php
を最新の#
$ whereis php
/usr/bin/php
#
$ sudo /usr/bin/php /usr/bin/php5.5
# , window
$ sudo ln -s /usr/local/php5-7.2.2-20180201-132629/bin/php /usr/bin/php
そして
php -v
は7.2.2バージョンであることがわかりますPHPの例を走る
定番はもちろん:
test.php
ええと、直接走ることはできません.この部分を
nginx
に配置して、sudo nginx -s reload
を再起動します.location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /$document_root$fastcgi_script_name;
include fastcgi_params;
}
上の
test.php
はnginx
インストールディレクトリの下のhtml
フォルダの下に置いて、それからブラウザの中でアクセスします:http://localhost/test.php
幸運であれば、PHP関連のバージョンと配置などの情報を見ることができます待って、
php-fpm
を起動するのを忘れたのではないでしょうか.今のPHP
はphp-fpm
付きです(PHP 5.3.3の後にモジュールを変更しました).ええ、これは何ですか.文末の参考を見てください.php-fpm
を直接実行するのはプロファイルがないことを示すようですね./etc
と/private/etc
のディレクトリの下にphp-fpm.conf
のファイルがあります.では、1つ指定しましょう.$ php-fpm --fpm-config /private/etc/php-fpm.conf
ええ、引き続き間違いを報告して、ヒント
/usr/var/log/php-fpm.log
ディレクトリは存在しません.はい、ここで経路を修正します.$ vim /private/etc/php-fpm.conf
# , mkdir -p /usr/local/log
error_log = /usr/local/log/php-fpm.log
はい、再稼働で成功しました
そこでブラウザの
http://localhost/test.php
リンクを再更新し、PHP関連の額情報を見ることができますが、バージョン番号とコンソールが間違っていますね...コンソールとWeb側のバージョン番号が一致しません
ええ、この問題はネット上でたくさんの資料を調べました...最終的には外国人が大体の内容を頼りにしています.
php -v
-phpのバージョン番号phpinfo()
-これはWebサーバによって表示されるPHP情報
-Webサーバはphp-fpm
を介してphpに関連付けられ、php-fpm
が指すphpこそページ表示の情報である.php
とphp-fpm
はいつも1対1で、自分のバージョンは自分の対応するパートナーを探せばいいApache
のphp5_module
モジュールがphp
版と異なる本来の対応配置を検討しているのを見て考えましたソリューション
何が起こっているのかが分かれば問題を解決できます.見てみましょう.
$ php-fpm -v
PHP 5.5.38 (fpm-fcgi) (built: Oct 29 2017 20:49:27)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
php-fpm
を最新に交換しています#
$ whereis php-fpm
/usr/sbin/php-fpm
#
$ sudo mv /usr/sbin/php-fpm /usr/sbin/php-fpm5.5
#
$ sudo ln -s /usr/local/php5-7.2.2-20180201-132629/sbin/php-fpm /usr/sbin/php-fpm
php-fpm -v
を再実行すると、最新の7.2.2バージョンが表示されます.ブラウザのリフレッシュでは、最新の7.2.2バージョンが表示されるはずです.(nginxを再起動する必要があるかどうか忘れました)
について述べる
nginx
:php -v
とphp-fpm -v
はペアであるべきで、交換するには一緒に交換すべきであることを覚えておいてください.apache
:同様に、phpが複数バージョンインストールされている場合は、php5_module
モジュールも対応する必要があります.最後の
Sublime Text 3
の中は自動的に使いやすくなりました