2016-07-24 5 views
1

私はbrewによってインストールされたphp56とNginxでphpファイルを実行しようとしています。php56とNginx for OSXでphpファイルを実行するには?

brew install nginx brew install php56

だから、/usr/local/etc/nginx/nginx.confはここにあります。

worker_processes 1; 

error_log /usr/local/var/log/nginx/error.log; 

events { 
    worker_connections 1024; 
} 

http { 
    include  mime.types; 
    default_type application/octet-stream; 

    sendfile  on; 

    keepalive_timeout 65; 

    server { 
     server_name localhost; 
     listen  8080; 
     root /Users/kent/work; 

     location ~ \.php$ { 
      try_files $uri =404; 
      fastcgi_split_path_info ^(.+\.php)(/.+)$; 
      fastcgi_pass 127.0.0.1:9000; 
      fastcgi_index index.php; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
      include  fastcgi_params; 
     } 

     error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
      root html; 
     } 

    } 
    include servers/*; 
} 

私は、htmlファイルindex.htmlとディレクトリ/Users/kent/work/htmlを作ります。

<h1>this is my first file!</h1> 

http://localhost:8080/html/index.htmlで動作します。

そして、ディレクトリ/Users/kent/work/phpにPHPファイルindex.phpを作成します。

http://localhost:8080/php/index.phpで閲覧していません。 不思議なことに、index.phpファイルをダウンロードします。

ブラウザでphp情報を参照する必要があります。 何か間違っていますか?いくつかの提案をお願いしますか?

答えて

0

それはあなたがPHPとPHP-FPMがインストールされていることを

$ brew install php56 --with-fpm --without-apache 

検証をインストールPHPの醸造でFPMのサポートが含まれていなかったということかもしれません

$ php -v 
$ php-fpm -v 

代替

オリジナルの質問には関係しませんが、OSXにはApacheが付属しています。それは別の方法かもしれません。

また、Laravel(または他の多くのフレームワークがサポートされている)を使用している場合は、Valetもご覧になれます。これは、Caddyサーバーを使用した素晴らしい開発方法です。

更新:PHP-FPMが実際に開始し、ポート9000でリッスンしていることその他の情報

チェック。あなたはまたに必要だろう

$ brew services start homebrew/php/php56 

使用して、

$ lsof -Pni4 | grep LISTEN | grep php 

あなたが見るべきもの

php-fpm 50622 YourUsername 6u IPv4 0xe686e4bdbc1e41b3  0t0 TCP 127.0.0.1:9000 (LISTEN) 
php-fpm 50636 YourUsername 0u IPv4 0xe686e4bdbc1e41b3  0t0 TCP 127.0.0.1:9000 (LISTEN) 

のように手動でサービスを開始することができます私のコメントあたりとして、あなたが使用していることを確認することができます起動時にランチャーを登録する。

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

あなたがlsofからのphp-FPMエントリは文字列homebrew.mxcl.php56

  • チェック/usr/local/var/log/php-fpm.logを含む何かのための手がかり

    • /var/log/syslog.logの内容については、以下をチェックし、それが正しいユーザーによって所有されていることを確認が表示されない場合ユーザーはそのディレクトリにアクセスできます。
  • +0

    ご協力いただきありがとうございます。しかし、もし私がphp-fpm -vコマンドを実行すると、私のコンソールはPHP 5.6.23(fpm-fcgi)を返します(構築:Jul 24 2016 11:25:06)(DEBUG)Copyright(c)1997-2016 PHP Group Zend Engine v2.6.0、Copyright(c)1998-2016 Zend Technologies'。 php-fpmがインストールされていますが間違っています。 –

    +0

    @KentFujii php-fpmが起動していてポート9000でリッスンしている場合は、 '$ lsof -Pni4 | grep LISTEN | grep php' –

    関連する問題