ホームページ  >  記事  >  バックエンド開発  >  Mac nginx が PHP をサポートしていない場合はどうすればよいですか?

Mac nginx が PHP をサポートしていない場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2021-09-18 09:08:342156ブラウズ

mac nginx は PHP が設定されていないため、php をサポートしていません。解決策は次のとおりです: 1. homebrew を使用して nginx をインストールします。 2. nginx の管理者権限を設定します。 3. コマンド「brew Tap josegonzalez/homebrew-」を実行します。 php」PHPをインストールするだけです。

Mac nginx が PHP をサポートしていない場合はどうすればよいですか?

#この記事の動作環境: macOS10.15 システム、PHP5.6 バージョン、MacBook Air 2019 パソコン

mac nginx php がサポートされていない場合はどうすればよいですか?

Mac に Nginx をインストールして PHP を設定する

以前は、Apache と PHP を連携して使用していました

PHP は独学なので、理解できないことがたくさんあります(TPについてはあまり読んでいないので、役に立ちません)

最近、nginxとphpを使用して何かを一緒に書きたいと思っていました

すでにインストールしているため、私のコンピュータ上で、そのプロセス中にいくつかの問題が発生しました。印象はまだ残っていますが、今すぐ記録してください。将来 nginx と php を使用して開発する場合は、それを参照してください。

1. yum を使用して Linux にソフトウェアをインストールします。Mac を使用している場合は、homebrew

2 が表示されます。次に、homebrew を使用して nginx

をインストールします。インストールは 1 つのコマンドで完了します:

brew install nginx

次に、権限を設定します。

1>>nginx の管理者権限を設定します。管理者権限が設定されていない場合、ポート 80 を監視できません。

#这里的目录根据你实际安装的目录来填写,默认是这个目录,不同的只是nginx的版本号而已
sudo chown root:wheel /usr/local/Cellar/nginx/1.10.1/bin/nginx    
sudo chmod u+s /usr/local/Cellar/nginx/1.10.1/bin/nginx

2>>launchctl 起動制御を追加します

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

3》nginx

sudo nginx #打开 nginx
nginx -s reload|reopen|stop|quit  #重新加载配置|重启|停止|退出 nginx
nginx -t   #测试配置是否有语法错误

3 を実行します。PHP をインストールします。

brew にはデフォルトで php パッケージがないため、最初に次のコマンド

brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
# を実行します。 ##php には多くのバージョンがあり、私のコンピュータで

を表示するには、brew search php を使用できます。php5.6 ですが、インストールには brew を使用しました。Mac に付属の php には影響しません。 /usr/local/Cellar にインストールされるためです。

brew install php56

インストールが完了した後、システムがインストールしたバージョンを使用できるようにするには、

sudo vim ~/.bash_profile

#在这个文件最后添加下列语句:
export PATH="$(brew --prefix php56)/bin:$PATH"

#保存文件后,source下这个文件,使刚刚添加的环境变量生效
source ~/.bash_profile
を設定する必要があります。

完了後、ターミナルで php -v を使用して、インストールしたばかりのバージョンを表示できます。

launchctl スタートアップ コントロールに参加します

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist

php 構成のパスファイルは次のとおりです

/usr/local/etc/php/5.6/php.ini
/usr/local/etc/php/5.6/php-fpm.conf

これを完了した後、phpを使用して直接テストしてみました

しかし、nginxサービスは正常でしたが、phpは表示されませんでした

理由は、私があまりにもせっかちであるためです。nginx はまだ PHP をセットアップしていません。

nginx 設定ファイルのパスは次のとおりです。

/usr/local/etc/nginx/nginx.conf

開いた後、次の部分を見つけます

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

コメントを外して、nginx を再起動してもまだ機能しません。理由がわかりました。[/scripts$fastcgi_script_name;] この文は [$document_root$fastcgi_script_name;] である必要があるからです。

その後、nginx を再起動して、 php にアクセスできます。

#php-fpm を起動したときにいくつかの小さな問題が発生したことを覚えています。問題の内容がターミナルに表示されました。

例: [/private/etc /php-fpm.conf] このファイルは存在しません。実際には、同じディレクトリにサフィックス [.default] を持つファイルがあります。このファイルをコピーして、php-fpm.conf に変更できます。

後で実行すると、何かが表示される可能性があります。error_log のパスが間違っています。デフォルトでは [/usr/var] にログが記録されますが、パスが見つかりません。解決策は 2 つあります。

1>>フォルダーが存在しないというメッセージが表示されます。フォルダーを作成します

2>>先ほどコピーした php-fpm.conf ファイルを変更し、次のような場所を見つけます

[global]
; Pid file
; Note: the default prefix is /usr/var
; Default Value: none
pid = /usr/local/var/php-fpm/run/php-fpm.pid

; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; in a local file.
; Note: the default prefix is /usr/var
; Default Value: log/php-fpm.log
error_log = /usr/local/var/php-fpm/log/php-fpm.log

pid と error_log は両方とも以前にコメントされていました。便利な場所に変更するだけです。

他に特別な問題がなければ、nginx と php は正常に動作します。

nginx.conf と hosts ファイルを変更することで独自のアクセス ドメイン名を構成できます

推奨学習:「

PHP ビデオ チュートリアル

以上がMac nginx が PHP をサポートしていない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。