顯示具有
PHP5-suhosin 標籤的文章。
顯示所有文章
顯示具有
PHP5-suhosin 標籤的文章。
顯示所有文章
阿舍改用 PHP FPM 之後,感覺是好像有比較快,而且,好像有比較穩定,阿舍之前用 spawn-fcgi 的時候,就常常會不知什麼原因就自已停掉了, 讓阿舍用的提心吊膽的 ( 註 ; 阿舍沒去找原因,也許是阿舍設定不好的問題哩 ! ...=___=!! ),後來改用 PHP-FPM 之後就沒遇到過自動停掉的情形了...接下來就繼續囉 !
5. 開始編譯和安裝
執行下面的指令來編譯和安裝 PHP,安裝好的 PHP 會放在 /usr/local/bin/php 裡。
sudo make all install
6.複製 php.ini 檔
編譯和安裝好的 PHP 不會有 php.ini 檔,要從下載來的原始檔裡複製過去。
sudo cp php.ini-dist /usr/local/lib/php.ini
7.修改 /usr/local/etc/php-fpm.conf ( 適用 Nginx )
用 sudo vi /usr/local/etc/php-fpm.conf 打開後,找到 user 和 group 這二個標籤,然後把它們的值改成 www-data ,改好之後就會和下一樣了...
www-data
www-data
7.設定 PHP-FPM 開機自動啟動
ln -s /usr/local/sbin/php-fpm /etc/init.d/php-fpm
8.啟用 PHP-FPM
php-fpm start
9.看結果
用 phpinfo() 寫一個網頁,然後,從網頁執行,如果可以看到 PHP FPM 的設定,那就算成功了...
阿舍一開始以為 PHP-FPM 是個獨立的套件,所以,就以為只要下載 PHP-FPM 的原始程式碼來編譯和安裝就好了,結果,就弄了好久還裝不起來哩 ! 後來才發現,原來是誤會一場,其實,與其說 PHP-FPM 是套軟體,還不如說,PHP-FPM 是 PHP 的修正功能哩 ! 因此,如果想要安裝 PHP-FPM 的話,那就要重頭編譯 PHP 才行,也就是說,必需要下載原始碼來編譯和安裝的...
在 PHP 5.3 以上的版本要安裝 PHP-FPM 比較簡單,因為已經有人提供可以透過 apt-get 來安裝的方法了,而 PHP 5.2.x 的版本就比較麻煩一點,不過,目前阿舍用的 Drupal 版本和 PHP 5.3 不太合,所以,阿舍就要用 PHP 5.2 來安裝 PHP-FPM 才行哩 ! 以下就是在 PHP 5.2 版安裝 PHP-FPM 的步驟 ( 本文是假設已經安裝過 Nginx 並完成 Fast-CGI 的設定 )。
1.下載 PHP 5.2.14 版的原始程式碼並解壓縮
到這裡下載 5.2.14 的原始程式碼,下載的檔名應該是 php-5.2.14.tar.gz ,把它用下面的指令解壓縮。
tar -zxvf php-5.2.14.tar.gz
2.下載 PHP-FPM 的修正檔 ( Patch File )
前面阿舍有提到 PHP-FPM 是直接去改 PHP 的原始程式碼的,所以,就要到這裡來下載 PHP-FPM 的修正檔,檔名是用 PHP 的版本再加上 PHP-FPM 的版本組合而成的,以阿舍的 PHP 是 5.2.14 版為例,要下載的檔案就是 php-5.2.14-fpm-0.5.14.diff.gz 這個檔。
3. 執行 Patch 更改 PHP 的原始程式碼
用下面的指令來解壓縮下載的檔案並 Patch PHP 的原始程式碼
gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1
4. 執行 ./configur
切換到剛剛解開的 PHP 5.2.14 原始程式碼的資料夾,然後執行下面的指令 ( 如果需要加入 MySQLi 請參考這裡,需要加入 Suhosin 功能,請參考這裡。
./configure --enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --with-openssl --with-gd --with-mysql=/usr/bin --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-mysqli=/usr/bin/mysql_config --with-pdo-mysql=mysqlnd --with-mcrypt --with-zlib --enable-pdo=/usr/bin --with-pdo-mysql=/usr/bin/mysql_config ( 待續... )