2016-07-24 35 views
1

我想执行PHP文件与php56和Nginx的brew安装。如何使用php56和Nginx为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/*; 
} 

我做一个目录/Users/kent/work/html一个HTML文件index.html

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

它在http://localhost:8080/html/index.html工作。

我做一个目录/Users/kent/work/php与php文件index.php

<?php phpinfo(); 

它并没有在http://localhost:8080/php/index.php浏览。 奇怪的是它使得下载index.php文件。

我应该在浏览器中浏览php信息。 我做错了什么?你会提出一些建议吗?

回答

0

这可能是你没有包含在你的PHP酿造FPM支持安装

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

验证您的PHP和PHP-FPM安装

$ php -v 
$ php-fpm -v 

替代

虽然与您的原始问题没有关系,但OSX带有apache。这可能是一种选择。

另外,如果您使用的是Laravel(或其他一些支持的框架),您也可以看看Valet这是使用Caddy服务器的一个很好的开发替代方案。

更新:附加信息

检查PHP-FPM实际上已经启动并侦听端口9000。按我的意见,你可以检查使用:

$ 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) 

您可以手动启动该服务,使用

$ brew services start homebrew/php/php56 

你本来还需要在启动时注册启动器,使用

$ 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入境检查线索

以下
  • /var/log/syslog.log内容的东西包含字符串homebrew.mxcl.php56
  • 检查/usr/local/var/log/php-fpm.log,并通过正确的用户确保其拥有并且用户可以访问该目录。
+0

非常感谢您的支持!但是,如果我命令php-fpm -v,'我的控制台返回PHP 5.6.23(fpm-fcgi)(构建时间:Jul 24 2016 11:25:06)(DEBUG)版权所有(c)1997-2016 PHP Group Zend Engine v2.6.0,版权所有(c)1998-2016 Zend Technologies'。所以php-fpm已经安装,但有些问题。 –

+0

@KentFujii php-fpm启动并且它正在监听端口9000,你可以使用'$ lsof -Pni4 | grep LISTEN | grep php' –