Warning: include(/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php): failed to open stream: No such file or directory in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24

Warning: include(/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php): failed to open stream: No such file or directory in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24

Warning: include(): Failed opening '/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php' for inclusion (include_path='.:/opt/cpanel/ea-php70/root/usr/share/pear') in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24

Warning: Cannot modify header information - headers already sent by (output started at /home/blog66rr/public_html/wp-content/advanced-cache.php:24) in /home/blog66rr/public_html/wp-includes/feed-rss2.php on line 8
fastcgi – unethost無限空間虛擬主機 技術分享部落格 https://blog.unethost.com unethost 專注於提供優質的虛擬主機服務及相關問題解答 Thu, 19 May 2016 11:57:58 +0000 zh-TW hourly 1 https://wordpress.org/?v=6.0.8 如何在cpanel裡將php handler設為 php-fpm https://blog.unethost.com/how_to_setup_php-fpm_at_cpanel/ Thu, 19 May 2016 11:56:25 +0000 http://blog.unethost.com/?p=3434 閱讀全文 如何在cpanel裡將php handler設為 php-fpm]]> php-fpm_wp2

我們在之前介紹過php handler
在我們虛擬主機裡,是使用fastcgi的讀寫方式,
如果在一般主機要追求更高的效能,則可以考慮使用php-fpm。

以下直接以設定範例說明(適用於 centos 6.x版):

<進行php-fpm的安裝>
1. 登入 whm>Configure PHP and suEXEC
設定
PHP 5 Handler: none
Apache suEXEC: off
Apache Ruid2: off

2.linux shellvim /var/cpanel/easy/apache/rawopts/all_php5
加入下列兩行後存檔
--enable-fastcgi
--enable-fpm

3.回到 whm > easyapache
並作下列設定
(1). Select Apache 2.2.x
(2). Select PHP 5.4.x
(3). Disable Frontpage
(4). Disable Mod SuPHP
(5). Disable Mod Ruid2
(6). Select MPM Worker
(7). Disable MPM Prefork and MPM Event

rebuilding 完成後,在接下一步

4.回到linux shell裡處理 PHP-FPM 設定檔

cd /home/cpeasyapache/src/php-5.4.x/sapi/fpm/
cp init.d.php-fpm.in /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm

5. vim /etc/init.d/php-fpm

prefix=@prefix@
exec_prefix=@exec_prefix@

php_fpm_BIN=@sbindir@/php-fpm
php_fpm_CONF=@sysconfdir@/php-fpm.conf
php_fpm_PID=@localstatedir@/run/php-fpm.pid

改為
prefix=
exec_prefix=
php_fpm_BIN=/usr/local/sbin/php-fpm
php_fpm_CONF=/usr/etc/php-fpm.conf
php_fpm_PID=/var/run/php-fpm.pid

(新路逕務必查證,才不會error)

<調整php-fpm.conf>

6.
cd /home/cpeasyapache/src/php-5.4.x/sapi/fpm/
cp php-fpm.conf.in /usr/etc/php-fpm.conf

7. vim /usr/etc/php-fpm.conf
設定
user = nobody
group = nobody

<將PHP-FPM handler 設定於 Apache 裡>
8. linue shell 裡:
vim /usr/local/apache/conf/includes/post_virtualhost_global.conf
加入下列語法:
LoadModule fastcgi_module modules/mod_fastcgi.so <IfModule mod_fastcgi.c>
FastCGIExternalServer /usr/local/sbin/php-fpm -host 127.0.0.1:9000
AddHandler php-fastcgi .php

#<LocationMatch "/status">
# SetHandler php-fastcgi-virt
# Action php-fastcgi-virt /usr/local/sbin/php-fpm.fcgi virtual
#</LocationMatch>

Action php-fastcgi /usr/local/sbin/php-fpm.fcgi
ScriptAlias /usr/local/sbin/php-fpm.fcgi /usr/local/sbin/php-fpm

<Directory /usr/local/sbin>
Options ExecCGI FollowSymLinks
SetHandler fastcgi-script
Order allow,deny
Allow from all
</Directory>
</IfModule>

9. 安裝mod_fastcgi
wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
tar -xzf mod_fastcgi-2.4.6.tar.gz
cd mod_fastcgi-2.4.6
cp Makefile.AP2 Makefile
10. vim Makefile
設定 apache 路逕
op_dir = /home/cpeasyapache/src/httpd-2.2.x
11. 9+10設定後,即可跑下列安裝:
make
make install

12. 最後設定開機啟動 php-fpm

chkconfig php-fpm on

13. 重開相關 service
/etc/init.d/php-fpm restart
/etc/init.d/httpd restart
<如何檢查 php-fpm>
14. 可透過 php info.
15. 透過 top ,可以看到 COMMAND 是否出現 php-fpm。
<結論>
如果安裝過程,遇到其他錯誤訊息,
或是要使用 php 5.5 , php5.6,則要額外視路逕進行調整。

(本篇教學由unethost.com客服撰寫)

延伸閱讀:如何備份Cpanel後台安裝的套裝程式?

安裝上述的軟體,我們提供虛擬主機試用,七天滿意保證,
功能完整使用不受限制,歡迎點我申請。

]]>
如何設定排程 cron jobs,解決fastcgi崩潰問題? https://blog.unethost.com/how_to_setup_cron_jobs_to_fix_fastcgi_loading_issue_on_linux/ Mon, 28 Mar 2016 07:31:47 +0000 http://blog.unethost.com/?p=3124 閱讀全文 如何設定排程 cron jobs,解決fastcgi崩潰問題?]]> crontab_wp

我們曾在 php handler 介紹過相關的php型態。

其中有提到 fastcgi的崩潰狀況,
使用fastcgi可能因此導致server loading問題。
最近有讀者來詢問,該如何處理這個狀況呢?

在本篇裡,我們另外給大家另一個思維:

首先要先觀察,這個loading問題是無時無刻發生,
還是透過壓力累積(間歇性)後才會發生的呢?

 

如果是間歇式的,建議在排程裡加上清除php的語法,或許就能解決:

1.登入linux shell,並執行 crontab -e。(我們是用centos為範本)

2. 在其中一行裡,擺上這個語法:
0 */1 * * * /usr/bin/pkill -f -x /usr/bin/php -P 1

3.排程的時間也可以自訂,讓server自動去進行 kill php 的動作。

 

如果是無時無刻的發生呢?

1.這樣透過排程,進行kill php 的效果可能不是最佳。

2.需改以top指令觀察,看看是cpu,memory還是(hd,io),
哪一個部份去咬住了主機資源,在對症調整系統,程式,或升級硬體,
才會有效果。

 

(本篇教學由unethost.com客服撰寫)

延伸閱讀:如何備份Cpanel後台安裝的套裝程式?

安裝上述的軟體,我們提供虛擬主機試用,七天滿意保證,
功能完整使用不受限制,歡迎點我申請。

]]>
如何解決 phpmyadmin ,出現: Fatal error: Call to undefined function __() in 的錯誤 https://blog.unethost.com/how_to_fix_phpmyadmin_issue_fatal-error-call-to-undefined-function-__-in/ Mon, 07 Mar 2016 06:44:49 +0000 http://blog.unethost.com/?p=3008 閱讀全文 如何解決 phpmyadmin ,出現: Fatal error: Call to undefined function __() in 的錯誤]]> phpmyadmin_issue_wp

我們曾在:
如何讓 cpanel 空間有獨立的 phpmyadmin (無痛安裝phpmyadmin)
介紹過使用phpmyadmin管理mysql

今天有cpanel的獨立主機用戶,
phpmyadmin上傳後,出現了錯誤訊息:
Fatal error: Call to undefined function __() in

如何透過網頁error message找出解法?
1. google搜索看看,查一下是否php環境設定引起?
2. 除php版本問題之外, 根據多篇文章的提示,
大多數都是沒有安裝到 mbstring 引起的。
3. 但是透過 php.ini 查看後,發現server是有安裝mbstring。

遇到網路上找不出解答的情況?
1. 當網路上找不到解答,可以考慮直接查看log檔。
2. 像我們自己就有額外的測試方式,
比方說把主機調整到我們自己的優化設定。

根據本次的狀況,我們先把php handler調成fastcgi,
因為這可能是資料夾權限的問題,改為fastcgi可以先避開。

順利解決:
果不其然,將php handler 切成 fastcgi後,順利解決了。

phpmyadmin_issue_01

(本篇教學由unethost.com客服撰寫)

延伸閱讀:如何備份Cpanel後台安裝的套裝程式?

安裝上述的軟體,我們提供虛擬主機試用,七天滿意保證,
功能完整使用不受限制,歡迎點我申請。

]]>
Fastcgi and Custom php.ini https://blog.unethost.com/fastcgi-and-custom-php-ini/ Wed, 17 Oct 2012 19:50:38 +0000 http://blog.unethost.com/?p=192 閱讀全文 Fastcgi and Custom php.ini]]> 如果主機的php是用fastcgi的方式來配置時,會發生一個現象,無法用.htaccess來修改php.ini裡的參數。這時候,就必須做一些特定的修改,才能辦到。

何時會需要修改php.ini的參數呢?一個很常見的例子,就是register_globals 。在php 4之前,這個常常是On的。但是為了安全性,php 5開始,及很多新的php套裝程式,都必須是Off才能安裝。

1) 將客製化的php.ini ( custom php.ini )移到 public_html/cgi-bin/這個資料夾下

2) 在 cgi-bin 這個資料下, 生成 php.fcgi 這個檔案,並寫入下方的內容
#!/bin/sh
export PHP_FCGI_CHILDREN=1
export PHP_FCGI_MAX_REQUESTS=10
exec /usr/local/cpanel/cgi-sys/php5

3) chmod +x php.fcgi

4) 上傳 .htaccess 到 public_html資料夾,並加入下方的內容
AddHandler php5-fastcgi .php
Action php5-fastcgi /cgi-bin/php.fcgi

5) 在php.conf中,加入path
在 /usr/local/apache/conf/php.conf 這個檔案中,加入下方的內容
Action php5-fastcgi /cgi-bin/php.fcgi
AddType application/x-httpd-php .php

6)萃取apache的conf檔,並且重新啟動之
/usr/local/cpanel/bin/apache_conf_distiller –update
/scripts/rebuildhttpdconf
/etc/init.d/httpd restart

後記:
經過我們實際上的實驗,(4)這個步驟修改.htaccess檔在某些情況下,必須省略。例如,要修改的網站,本身的空間裡有附加(attach) 子網域(subdomain) 的時候。

]]>