ERROR: Unable to globalize '/usr/local/NONE/etc/php-fpm.d/*.conf' 問題的解決

今天繼續做大死,趟php7的配置的坑。php

照例,安裝了昨天的各類擴展以後,解壓php7的壓縮文件到 /usr/local/。mysql

而後開始配置config的擴展:nginx

 ./configure --prefix=/usr/local/php7 \ 
--with-gd \ 
--with-freetype-dir \ 
--enable-gd-native-ttf \ 
--enable-mysqlnd \ 
--with-pdo-mysql=mysqlnd \ 
--with-openssl \ 
--with-mcrypt \ 
--enable-mbstring \ 
--enable-zip \ 
--enable-fpm sql

在這裏遇到了第一個坑:坑1。原本保證了所有的擴展命令都是一行,以保證正常安裝。可是安裝完成以後,居然連個Makefile文件都沒有。因此make和make install命令無法兒運行。索性先檢查是否全部命令獲得了執行。api

./configure --enable-fpmphp7

從新安裝fpm以後,Makefile總算是出來了。php-fpm

而後make一下。出來坑2:ui

ERROR: Unable to globalize '/usr/local/NONE/etc/php-fpm.d/*.conf' (ret=2) from /usr/local/etc/php-fpm.conf at line 125.

這個好說,既然是在 /usr/local/etc/php-fpm.conf文件的問題,就去找,果真最後一行是這個樣子的:spa

  include=NONE/etc/php-fpm.d/*.conf.net

果斷修改成 include=etc/php.fpm.d/*.conf,要否則這個文件的配置擴展會找不到(也就是下面一個坑)

由於這個時候內心灰常納悶。看到網上說要修改/usr/local/etc/php-fpm.conf裏面,



好嘛,說改就改嘛。我查到根目錄下,有兩個conf,; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = www-data group = www-data

可是不管是哪個php-fpm.conf文件中,都沒有找到
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
這段話。因此我開始懷疑這個問題是否是有點刻舟求劍了。因而開始找另外兩個拓展配置文件:

總算找到了,在php7/sapi/fpm/www.conf下,

把這兩個nobody修改爲了www-data以後,繼續運行 /usr/local/bin/php-fpm 遭遇坑3:

  ERROR: [pool www] cannot get uid for user 'www-data'

這個時候心裏是十分崩潰的。說好的開啓服務呢??

好吧,這個www.conf是什麼鬼,我查到了官網中的定義,說

那不就得了,索性所有用nobody避免風險啊。因而開心的改了回來。

再運行 /usr/local/bin/php-fpm ,果真正常啓動了。小結:

1.在解壓後,將文件夾放到/usr/local/下以後,若是安裝 ./configure 擴展後沒有出現Makefile,要考慮編譯 PHP 時須要 --enable-fpm 配置選項來激活 FPM 支持,因此要從新安裝一次確保安裝成功:

./configure --enable-fpm

 

2.總共須要修改四個文件,首先,保證下面兩個php-fpm.conf的擴展配置文件www.conf裏面的user group 都是默認的nobody

/usr/local/etc/php-fpm.d/www.conf

/usr/local/php7/sapi/fpm/www.conf

 

3.其次在下面兩個文件中最後一行的 include=NONE/etc/php-fpm.d/*.conf修改成include=etc/php- 

fpm.d/*.conf

/usr/local/etc/php-fpm.conf

/usr/local/php7/sapi/fpm/php-fpm.conf

 

 

4.由於修改了配置文件中的用戶和用戶組,則須要從新運行

./configure --enable-fpm --with-mysqli --with-fpm-user=nobody --with-fpm-group=nobody

 

 最後貼出引用過的官方文檔地址:

 http://php.net/manual/zh/install.fpm.install.php

http://php.net/manual/zh/install.unix.nginx.php

相關文章
相關標籤/搜索