Mac OS X 10.9自带php-fpm的配置使用和扩展安装
admin
2023-07-05 01:02:53
0次

Mac OS X 10.9已经自带有php-fpm,对于有干净系统强迫症的人,或者原装控来说,用brewhome重装一遍总感觉心里会有小兔子,下面把原装的php-fpm配置起来。


直接运行,有报错找不到配置文件。

$ php-fpm

[11-Jan-2014 16:03:03] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)

[11-Jan-2014 16:03:03] ERROR: failed to load configuration file '/private/etc/php-fpm.conf'

[11-Jan-2014 16:03:03] 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

[11-Jan-2014 16:10:49] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)

[11-Jan-2014 16:10:49] ERROR: failed to post process the configuration

[11-Jan-2014 16:10:49] 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


/etc目录权限root:wheel,需要root权限或使用sudo,关于如何设置Mac的sudo命令需要的密码,请查看

http://support.apple.com/kb/HT4103?viewlocale=zh_CN&locale=zh_CN

http://support.apple.com/kb/PH6515?viewlocale=zh_CN


# cp /etc/php.ini.default  /etc/php.ini

变更own,以后修改不用老是切换root,生产环境最好不要改

# chown <你的用户名> /etc/php.ini

# chmod u+w /etc/php.ini


安装PHP扩展

/Library/Server/Web/Config/php 这个目录并不存在,或者Mac OS X Server版本有吧,不知道,手动创建他,以root权限

# mkdir -p /Library/Server/Web/Config/php


编译扩展,brewhome是另起炉灶,brew方式安装扩展需要依赖php,如php54-redis会依赖php54,至于编译出来的扩展是否可以配置到自带的,没有实验过。下面以php_discuz扩展(https://github.com/potterhe/php_discuz下载)为例。

假如扩展源码在/Users/apple/php_discuz目录

$ ./configure

$ make

扩展编译后,默认会存储在 /Users/apple/php_discuz/modules/discuz.so

将扩展在配置文件中打开

$ echo "extension=/Users/apple/php_discuz/modules/discuz.so" > /Library/Server/Web/Config/php/discuz.ini


测试验证

$ php -i|grep discuz

discuz support => enabled


运行用例测试

$ php -f /Users/apple/php_discuz/discuz.php




相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...