之前在伺服器搭建了lamp環境,想換用效能更強的nginx作為伺服器軟體,又想將php5升級為php7.
安裝nginx無需贅述:sudo apt-get install nginx
,啟動ng前修改apache的埠。
安裝php7
原始碼在http://php.net/downloads.php
下載,並解壓。
# cd php7*** # ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-mcrypt=/usr/include --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache # make # make install
為不與5衝突,資料夾都用php7,安裝過程中報錯的安裝響應的依賴。
對接nginx
nginx本身不能處理php指令碼,需要發給php直譯器處理。nginx一般是把請求發fastcgi管理進程處理,fascgi管理進程選擇cgi子進程處理結果並返回被nginx。
# cp php.ini-production /usr/local/php7/etc/php.ini # cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm # chmod +x /etc/init.d/php7-fpm # cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf # cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
啟動php-fpm
# service php7-fpm start
中途如遇到紀錄檔檔案路徑不存在就手動建立並給予寫的許可權。
# service php7-fpm start Starting php-fpm [07-Apr-2016 11:16:11] ERROR: [pool www] cannot get gid for group 'nobody' [07-Apr-2016 11:16:11] ERROR: FPM initialization failed failed
遇到這個錯誤時,要新增個nobody
組groupadd nobody
再重新啟動。
nginx的設定
這是存取php檔案是變成下載檔案,因為ng並未設定響應處理。
location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Thank you for using PHP.
以上就是安裝php7並與php5共存的詳細內容,更多請關注TW511.COM其它相關文章!