歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

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

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

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


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

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

然後開始配置config的擴展:

 ./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 

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

./configure --enable-fpm

重新安裝fpm之後,Makefile總算是出來了。

然後make一下。出來坑2:

 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文件的問題,就去找,果然最後一行是這個樣子的:

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

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

因為這個時候心裡灰常納悶。看到網上說要修改/usr/local/etc/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.
user = www-data
group = www-data

好嘛,說改就改嘛。我查到根目錄下,有兩個conf,

但是無論是哪一個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

http://xxxxxx/Linuxjc/1178289.html TechArticle

Copyright © Linux教程網 All Rights Reserved