今天繼續做大死,趟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