关闭

mac os x下对于php的一些配置

标签: 辛星phpmac os x
234人阅读 评论(0) 收藏 举报
分类:
Mac OS X 10.9已经自带有php-fpm,直接运行,有报错找不到配置文件。
$ php-fpm
 ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)
 ERROR: failed to load configuration file '/private/etc/php-fpm.conf'
 ERROR: FPM initialization failed
可以在/private/etc/ 目录下生成配置文件,需要root权限(sudo)
或者在普通用户有权限的目录里放置配置文件,通过--fpm-config参数指定配置文件的位置,如下:
# cp /private/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf


$ php-fpm --fpm-config /usr/local/etc/php-fpm.conf
 ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
 ERROR: failed to post process the configuration
 ERROR: FPM initialization failed
错误信息显示:不能正确的打开”日志“文件,原因是默认在/usr/var目录下工作,可以修改配置文件指定正确的日志文件路径


$ vim /usr/local/etc/php-fpm.conf
修改php-fpm.conf文件中的error_log项,默认前缀是/usr/var ,但并没有这个路径
error_log = /usr/local/var/log/php-fpm.log
pid = /usr/local/var/run/php-fpm.pid
或者不修改配置文件中配置项的路径,在php-fpm的运行参数中(-p)指定放置运行时文件的相对路径前缀


$ php-fpm --fpm-config /usr/local/etc/php-fpm.conf  --prefix /usr/local/var
到此,php-fpm守护进程已经基本可以正确的启动了。


下面我们看下php.ini配置文件及扩展的安装。
首先看下编译参数,有些值是编译进执行程序的,无法更改。
$ php -i|grep config
找到配置文件(php.ini)、目录的位置,下面两项的值指定
'--with-config-file-path=/etc'
'--with-config-file-scan-dir=/Library/Server/Web/Config/php'
所以我们需要在/etc目录下创建php.ini,Mac在/private/etc,/etc下均提供了样例文件php.ini.default,通过查验,两个文件完全相同,所以复制哪一个都无所谓,Mac有提供md5而不是Linux下的md5sum:
$ md5 /private/etc/php.ini.default /etc/php.ini.default
MD5 (/private/etc/php.ini.default) = 1c47241665ea5efdc55fd5809f675449
MD5 (/etc/php.ini.default) = 1c47241665ea5efdc55fd5809f675449
首先复制文件
# cp /etc/php.ini.default  /etc/php.ini
变更own,以后修改不用老是切换root,生产环境最好不要改
# chown <你的用户名> /etc/php.ini
# chmod u+w /etc/php.ini






#测试php-fpm配置
php-fpm -t
php-fpm -c /usr/local/etc/php/5.5/php.ini -y /usr/local/etc/php/5.5/php-fpm.conf -t


#启动php-fpm
php-fpm -D
php-fpm -c /usr/local/etc/php/5.5/php.ini -y /usr/local/etc/php/5.5/php-fpm.conf -D


#关闭php-fpm
kill -INT `cat /usr/local/var/run/php-fpm.pid`


#重启php-fpm
kill -USR2 `cat /usr/local/var/run/php-fpm.pid`


#也可以用上文提到的brew命令来重启php-fpm,不过他官方不推荐用这个命令了
brew services restart php55


#还可以用这个命令来启动php-fpm
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist


启动php-fpm之后,确保它正常运行监听9000端口:


lsof -Pni4 | grep LISTEN | grep php
php-fpm   30907 calvin    9u  IPv4 0xf11f9e8e8033a2a7      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   30917 calvin    0u  IPv4 0xf11f9e8e8033a2a7      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   30918 calvin    0u  IPv4 0xf11f9e8e8033a2a7      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   30919 calvin    0u  IPv4 0xf11f9e8e8033a2a7      0t0  TCP 127.0.0.1:9000 (LISTEN)
#正常情况,会看到上面这些进程
PHP-FPM开机启动:


ln -sfv /usr/local/opt/php55/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php55.plist




安装Nginx


brew install nginx --with-http_geoip_module
Nginx启动关闭命令:


#测试配置是否有语法错误
nginx -t


#打开 nginx
sudo nginx


#重新加载配置|重启|停止|退出 nginx
nginx -s reload|reopen|stop|quit


#也可以使用Mac的launchctl来启动|停止
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist


Nginx开机启动


ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
Nginx监听80端口需要root权限执行,因此:


sudo chown root:wheel /usr/local/Cellar/nginx/1.6.0_1/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.6.0_1/bin/nginx
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:394465次
    • 积分:8656
    • 等级:
    • 排名:第2303名
    • 原创:459篇
    • 转载:74篇
    • 译文:1篇
    • 评论:360条
    友情链接
    QQ交流群
    Java部落----517416277
    Python部落---555845659
    PHP部落-----459233896
    Web前端-----459118411
    博客专栏
    最新评论