mac 啓動php-fpm報錯 failed to open configuration file '/private/etc/php-fpm.conf': No such file or direc

 

直接運行,有報錯找不到配置文件。php

$ php-fpmgit

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

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

[11-Jan-2014 16:03:03] ERROR: FPM initialization failedvim

能夠在/private/etc/ 目錄下生成配置文件,須要root權限(sudo)app

或者在普通用戶有權限的目錄裏放置配置文件,經過--fpm-config參數指定配置文件的位置,以下:php-fpm

# cp /private/etc/php-fpm.conf.default /usr/local/etc/php-fpm.confpost

 

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

[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

相關文章
相關標籤/搜索