本文目錄一覽:
- 1、linux 如何升級ubuntu 裡面的php
- 2、php5.4.6怎樣重啟php-fpm
- 3、Linux系統下PHP-FPM的安裝和配置教程
- 4、ubuntu php-fpm怎麼開機自啟動
- 5、安裝了ubuntu nginx 環境,,訪問項目502了,求教啊
linux 如何升級ubuntu 裡面的php
一、下載最新版本
可以到php.net這裡下載最新發布的PHP版本包,目前使用VPS居多吧,常規做法是先下載PHP包到本地上,然後在傳到VPS上,如果是使用VPS那麼可以直接從VPS上下載即可,這樣省事,而且也方便。下載時,選擇適合VPS的相應節點,如你的VPS在美國就選擇美國節點,這樣下載速度會比其它節點要快。
二、解壓
這個不用介紹了,直接tar -jxvf + PHP壓縮包文件名回車即可
三、停用php-fpm
先查找出php-fpm的進程號
#ps -le | grep ‘php-fpm’
然後使用kill殺掉,如php-fpm進程號是10562
#kill -QUIT 10562
四、配置編譯安裝PHP
配置還是跟原來安裝時配置的參數一樣,然後編譯,最後安裝
五、完成安裝,啟動php-fpm
安裝結束後,直接運行php-fpm命令即可啟動,加入你安裝的PHP在local路徑下則啟動命令如下
# /usr/local/php/sbin/php-fpm
完成以上五個步驟以後,運行phpinfo查看eAccelerator是否已啟動。如果啟動失敗,或者在執行php-fpm命令提示
[eAccelerator] This build of “eAccelerator” was compiled for PHP version 5.3.6. Rebuild it for your PHP version (5.3.13) or download precompiled binaries.
類似錯誤提示的也不要慌張,這是PHP版本導致的小錯誤。只要重新下載eAccelerator編譯安裝,然後殺掉php-fpm進程再啟動php-fpm即可
對於,那些也同我一樣想升級到PHP5.4版本以上的童鞋,只能等等了,因為eAccelerator還沒有PHP5.4版本的發布,除非放棄不使用eAccelerator的童鞋大可隨意升級!
php5.4.6怎樣重啟php-fpm
php5.4中php-fpm怎麼重啟?
php 5.3.3以後 源碼中已經內嵌了 php-fpm,不用象以前的php版本一樣專門打補丁了,只需要在configure的時候添加編譯參數即可。
關於php-fpm的編譯參數有 –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-libevent-dir=libevent位置。
但是,php 5.3.3以後 的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信號控制:
master進程可以理解以下信號:
INT, TERM 立刻終止
QUIT 平滑終止
USR1 重新打開日誌文件
USR2 平滑重載所有worker進程並重新載入配置和二進位模塊
有了以上信號,php-fpm進程重啟就方便多了。
例子:
php-fpm 關閉:
代碼示例:
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
php-fpm 重啟:
代碼示例:
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
說明:
cat部分是php-fpm的進程號,可能是我用的5.4的問題。沒有用php-fpm.pid ,就沒有這個文件。
可以用 ps aux | grep php-fpm,使用第一個進程的進程號,測試可行。
Linux系統下PHP-FPM的安裝和配置教程
基本安裝方法
安裝工具包
$
sudo
apt-get
install
python-software-properties
添加ppa源
$
sudo
add-apt-repository
ppa:yola/php5
安裝php5-fpm
sudo
apt-get
update
sudo
apt-get
install
php5-fpm
其它必要的軟體安裝接
sudo
apt-get
install
nginx
配置php-fpm
php-fpm的解析器是C/S結構,它的配置文件位於:
(1)/etc/php5/fpm/php-fpm.conf
(2)/etc/php5/fpm/pool.d/
一般沒什麼嚴格的配置的要求,或者說這塊我還沒有具體的研究每個配置參數的意義
我採用了tcp模式與fastcgi進程進行連接,因此我修改了tcp監聽的地址和埠,修改了一下監視目錄的名稱,這裡不做具體詳細解釋了,大家可以參考官方文檔根據自己的需求進行配置
重啟php5-fpm
安裝提示錯誤解決
如果伺服器的系統源中沒有php5-fpm,安裝的時候會提示:
Reading
state
information…
Done
E:
Couldn’t
find
package
php5-fpm
解決辦法
1.
添加非官方的源到
/etc/apt/sources.list
echo
“deb
lucid
main”
/etc/apt/sources.list
echo
“deb-src
lucid
main”
/etc/apt/sources.list
2.
安裝php5-fpm
sudo
apt-get
update
sudo
apt-get
install
php5-fpm
3.
安裝php擴展組件
sudo
apt-get
install
php-apc
php5-curl
php5-gd
php5-imagick
php5-mysql\
php5-memcache
php5-memcached
php5-mcrypt
4.
啟動php-fpm
sudo
/etc/init.d/php5-fpm
start
php.in位於/etc/php5/fpm/php.ini
php-fpm.ini位於/etc/php5/fpm/php5-fpm.conf
php-fpm啟動時報錯
PHP
Warning:
PHP
Startup:
Unable
to
load
dynamic
library
‘/usr/lib/php5/20060613+lfs/gd.so’
–
/usr/lib/php5/20060613+lfs/gd.so:
undefined
symbol:
gdImageCreateFromJpeg
in
Unknown
on
line
locate
libgd
查看gd的動態庫位置,如果/usr/local/lib/目錄里有則
rm
/usr/local/lib/libgd*
重啟php-fpm即可
去掉php-fpm啟動時警告提示信息
PHP
Deprecated:
Comments
starting
with
‘#’
are
deprecated
in
/etc/php5/fpm/conf.d/imagick.ini
on
line
1
in
Unknown
on
line
把#變成;即可去掉該提示
ubuntu php-fpm怎麼開機自啟動
如果要運行php需要啟動php-fpm 如果不需要執行PHP腳本,則不需要開機啟動
安裝了ubuntu nginx 環境,,訪問項目502了,求教啊
查看當前的PHP FastCGI進程數是否夠用:
netstat -anpo | grep “php-cgi” | wc -l
如果實際使用的「FastCGI進程數」接近預設的「FastCGI進程數」,那麼,說明「FastCGI進程數」不夠用,需要增大。
部分PHP程序的執行時間超過了Nginx的等待時間,可以適當增加nginx.conf配置文件中FastCGI的timeout時間,例如:
……
http
{
……
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
……
}
……
php.ini中memory_limit設低了會出錯,修改了php.ini的memory_limit為64M,重啟nginx,發現好了,原來是PHP的內存不足了。
解決問題很簡單,增加children的數量,並且將 max_requests 設置未 0 或者一個比較大的值:
打開 /usr/local/php/etc/php-fpm.conf
調大以下兩個參數(根據伺服器實際情況,過大也不行)
value name=」max_children」5120/value
value name=」max_requests」600/value
然後重啟php-fpm。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/153312.html