phpcgi重啟
㈠ liunx php5-cgi 如何重啟
通俗一點,,,就是把linux操作系統許進光碟機,,再按照提示一步一步的裝,到了提示要把linux操作系統安裝目錄下後,,,就選擇D盤,,或者E盤,,,反正不要放在XP安裝盤裡面就行。,。。然後再一步一步裝下去,。,,就行。。
㈡ windows2003怎麼定時重啟PHP-CGI
ShutDown.exe實現伺服器定時重啟
操作步驟:單擊「開始」/程序/附件/系統工具中"計劃任務",彈出計劃任務窗口,然後雙擊"添加已計劃的任務",運行「計劃任務向導」,按「瀏覽」,找到c盤下
WINDOWS目錄中的shutdown.exe文件,單擊"打開"按鈕,在出現的對話框中鍵入該任務的名字(如"reboot"),執行方式選擇「每周」 ,然後按「下一步」選擇定時關機
時間(可以先試一下比現在機器上顯示的時間晚1分鍾),下一步選中「當單擊完成打開該任務的高級屬性」,單擊"完成".
附:ShutDown用法及參數
用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m computername] [-t xx] [
mment"] [-d up:xx:yy]
沒有參數 顯示此消息(與 ? 相同)
-i 顯示 GUI 界面,必須是第一個選項
-l 注銷(不能與選項 -m 一起使用)
-s 關閉此計算機
-r 關閉並重啟動此計算機
-a 放棄系統關機
-m computername 遠程計算機關機/重啟動/放棄
-t xx 設置關閉的超時為 xx 秒
-c "comment" 關閉注釋(最大 127 個字元)
-f 強制運行的應用程序關閉而沒有警告
-d [p]:xx:yy 關閉原因代碼
㈢ php-cgi.exe應用程序錯誤 "0x00000000"指令引用的"0x00000000"內存.該內存不能為"read";
電腦出現:【該內存不能為read】,這是你安裝的「軟體」和電腦中的「內存」有沖突!
1。電腦里有【木馬或病毒】干擾,下載「360安全衛士」和「360殺毒雙引擎版」或「金山衛士」和「金山毒霸」,建議「全盤掃描」病毒和木馬,修補電腦上的「高危」和「重要」的【系統漏洞】!【系統修復】,一鍵修復!【插件清理】,立即清理【惡評插件】!
2。【可疑啟動項】,下載「360系統急救箱」,或打開360安全衛士,【功能大全】里的「360系統急救箱」,開始急救,完畢後,重啟電腦!開機後,【文件恢復區】,點開:可疑啟動項和木馬,徹底刪除文件!
再:【系統修復】,全選,立即修復!【網路修復】,開始修復。重啟電腦!
【金山急救箱】,勾選【擴展掃描】,立即掃描,完畢後,立即處理,重啟電腦!
3。你下載的「播放器」,或「聊天軟體」,或「IE瀏覽器」,或「游戲」的【程序不穩定】,或者「版本太舊」!建議卸掉,下載新的,或將其升級為【最新版本】!IE瀏覽器,和測試版軟體不推薦升級!
4。就是你安裝了兩款或兩款以上的同類軟體(如:兩款播放器,兩款qq,或多款瀏覽器,多款殺毒軟體,多款網游等等)!它們在一起【互不兼容】,卸掉「多餘」的那一款!
5。你在電腦左下角「開始」菜單里找到【強力卸載電腦上的軟體】,找到多餘的那款卸掉! 卸完了再「強力清掃」(看準了再卸,別把有用的卸了)!完畢後,重啟電腦!
6。再不行,開始菜單,運行 ,輸入cmd, 回車,在命令提示符下輸入【復制即可】 :
for %1 in (%windir%\system32\*.ocx) do regsvr32 /s %1
粘貼,回車,完畢後,再輸入:
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
回車!直到屏幕滾動停止為止,重啟電腦!
7。再不行,去網上下載一個【read修復工具】,修復一下試試!注意查殺一下病毒和木馬!
8。重啟電腦,開機出完電腦品牌後,按「F8」,進到「安全模式」,游標選定:【最後一次正確設置】,回車,回車,看看效果如何!
實在不行就:【一鍵還原系統或重裝系統】!
㈣ CGI模式下,如何重啟PHP
在Linux、window、Mac平台上安裝MongoDB擴展
Linux上安裝 MongoDB PHP擴展
在終端上安裝
可以在linux中執行以下命令來安裝MongoDB 的 PHP 擴展驅動
$ sudo pecl install mongo
使用php的pecl安裝命令必須保證網路連接可用以及root許可權。
安裝手冊
如果想通過源碼來編譯擴展驅動。必須手動編譯源碼包,這樣做的好是最新修正的bug包含在源碼包中。
可以在Github上下載MongoDB PHP驅動包。訪問github網站然後搜索"mongo php driver"(下載地址:https://github.com/mongodb/mongo-php-driver),下載該源碼包,然後執行以下命令:
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>
$ phpize
$ ./configure
$ sudo make install
如果php是編譯的,則安裝方法如下(假設是編譯在/usr/local/php目錄中):
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>
$ /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ sudo make install
執行以上命令後,你需要修改php.ini文件,在php.ini文件中添加mongo配置,配置如下:
extension=mongo.so
注意:你需要指明 extension_dir 配置項的路徑。
window上安裝 MongoDB PHP擴展
Github上已經提供了用於window平台的預編譯php mongodb驅動二進制包(下載地址:https://s3.amazonaws.com/drivers.mongodb.org/php/index.html),可以下載與php對應的版本,但是需要注意以下幾點問題:
VC6 是運行於 Apache 伺服器
'Thread safe'(線程安全)是運行在Apache上以模塊的PHP上,如果以CGI的模式運行PHP,請選擇非線程安全模式(' non-thread safe')。
VC9是運行於 IIS 伺服器上。
下載完需要的二進制包後,解壓壓縮包,將'php_mongo.dll'文件添加到PHP擴展目錄中(ext)。ext目錄通常在PHP安裝目錄下的ext目錄。
打開php配置文件 php.ini 添加以下配置:
extension=php_mongo.dll
重啟伺服器。
通過瀏覽器訪問phpinfo,如果安裝成功,就會看到類型以下的信息:
MAC中安裝MongoDB PHP擴展驅動
你可以使用'autoconf'安裝MongoDB PHP擴展驅動。
你可以使用'Xcode'安裝MongoDB PHP擴展驅動。
如果使用 XAMPP,可以使用以下命令安裝MongoDB PHP擴展驅動:
sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo
如果以上命令在XMPP或者MAMP中不起作用,需要在Github上下載兼容的預編譯包。
然後添加 'extension=mongo.so'配置到php.ini文件中。
㈤ cgi、fastcgi、php-cgi、php-fpm異同
1. cgi
- 通用網關介面,就是外部應用程序(cgi程序)與web伺服器之間的介面標准。
- nginx是內容分發者,如果是請求index.php,根據配置文件內容得知不是靜態文件,就會去找對應的cgi程序進行解析
- cgi就是規定要傳那些數據,以什麼格式傳遞給後方進行處理的協議
- cgi工作模式,一個請求發送過來,啟動cgi解釋器(創建進程)-> 邏輯處理 -> 退出 (fork and exec 模式) 每次都需要重新創建進程,載入配置,浪費系統資源
2. fastcgi
- 快速通用網關介面,常駐型的cgi,不用每次都fork進程,其會使cgi解解釋器進程常駐內存,所以性能較高
- master-worker模型,伺服器啟動時載入fastcgi進程管理器
- fastcgi會進行自身初始化,初始化時會創建多個進程
- 請求到達web伺服器後,fastcgi進程管理器會選擇並通過socket連接到一個cgi解釋器
3. php-cgi
- php自帶的cgi管理器
- php-cgi的缺點,不能平滑重啟,需要重啟php-cgi才能使php.ini生效
4. php-fpm
- php-fpm是php的一種fastcgi的實現,管理php的fastcgi進程池
- 能夠調度php-cgi程序
- 能夠實現平滑重啟
- php-fpm創建一個master進程,然後創建進程池,監聽socket,fork出多個子進程,子進程各自accept請求,php-fpm的子進程同時只能響應一個請求,處理完一個請求才可以accept下一個請求,多進程,同步阻塞模型
- master和worker進程之間不直接進行通信,master通過共享內存獲取worker進程信息,master進程發送信號通知worker進程
- php-fpm可以同時監聽多個埠,每個埠對應一個worker pool
- worker是cgi程序,php-fpm是fastcgi協議的php是實現
㈥ 502錯誤怎麼解決linux
1:php-cgi進程數不夠用 (我就是採用此方法解決的)
vim php-fpm.conf
修改其中的2個參數
(1)在安裝好使用過程中出現502問題,一般是因為默認php-cgi進程是5個,可能因為phpcgi進程不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加
這個數值是不確定的 需要我們自己算的,這個值原則上是越大越好,php-cgi的進程多了就會處理的很快,排隊的請求就會很少,減小出現502錯誤的機率。
一般來說,一台伺服器的正常情況下每一個php-cgi要耗費的內存為20M左右。如果我就將此值設為80,那麼也就是說大概要耗費伺服器1600M內存。
查看一下當前系統中有多少個php-cgi進程在運行
netstat -anpo | grep php-cgi | wc -l
如果這個值接近你的在配置文件裡面設置的值,說明需要增加
註:這要根據機器的實際情況而定,每個機器的硬體設施和環境不一樣
參數為:<value name=」max_children」>80</value>
(2)另外一個參數就是php-cgi腳本的執行時間
<value name=」request_terminate_timeout」>0s</value>這里寫0s的意思是讓php-cgi一直執行下去,沒有時間限制。
注意:如果你做不到這一點,也就 是說你的PHP-CGI可能出現某個BUG,或者你的寬頻不夠充足或者其他的原因導致你的PHP-CGI假死那麼就建議你給 request_terminate_timeout賦一個值,這個值可以根據伺服器的性能進行設定。一般來說性能越好你可以設置越高,20分鍾-30分 鍾都可以。
修改完這兩個參數,重啟一下php-cgi,看是否還出現502錯誤
2: php執行時間長
php執行超時,修改/usr/local/php/etc/php.ini 將max_execution_time 改為300
重啟一下php-cgi,看是否還出現502錯誤
3: php-cgi進程死掉
殺死其進程,重啟php-cgi
原文地址:http://www.linuxidc.com/Linux/2013-05/84806.htm
轉載於:https://www.cnblogs.com/daly2008/archive/2013/06/06/3120911.html
㈦ linux php-cgi 如何啟動
用戶可以參考如下php-cgi安裝啟動過程。
1、解包
tar zxvf php-5.2.6.tar.gz
2、安裝
cd php-5.2.6/
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-zlib-dir --with-freetype-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-gd --enable-ftp --with-iconv --with-gettext --with-curl --enable-fastcgi --with-openssl
make && make install
cd /usr/local/php/lib
cp php.ini-dist php.ini
cp /usr/local/php/bin/php /usr/bin/php-cgi
3、修改php.ini
nano php.ini 按f6然後輸入extension_dir
查找/usr/local/php/etc/php.ini中的extension_dir = "./"
修改為extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
4、啟動php-cgi
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -f /usr/bin/php-cgi
nginx配置文件中的 fastcgi_pass 127.0.0.1:9000; 就是根據上面來的
5、查看一下
[zhangy@BlackGhost www]$ ps -e|grep php-cgi
3737 ? 00:00:00 php-cgi
3738 ? 00:00:03 php-cgi
3739 ? 00:00:03 php-cgi
3740 ? 00:00:04 php-cgi
3741 ? 00:00:03 php-cgi
3742 ? 00:00:03 php-cgi
㈧ php_cgi進程並行處理問題
php_cgi進程並行處理會引發消耗cpu過多導致機器負責過高的問題。
解決方法是做出以下調整:
1. nginx少開兩個進程:
user nobody nobody;
worker_processes 2;
worker_rlimit_nofile 51200;
2.調整php_cgi的子進程數:
/usr/local/nginx/sbin/spawn-fcgi -a 127.0.0.1 -p 1026 -C 12 -u nobody -f /usr/local/php-fcgi/bin/php-cgi
/usr/local/nginx/sbin/spawn-fcgi -a 127.0.0.1 -p 1027 -C 12 -u nobody -f /usr/local/php-fcgi/bin/php-cg
3.重啟php_cgi和nginx發現效果不佳。查資料發現有可能eAccelerater模塊不兼容。
4.修改/usr/local/php-fcgi/lib/php.ini 禁止eaccelerator模塊 改為apc加速:
extension = "apc.so"
apc.enabled = 1
apc.cache_by_default = on
apc.shm_segments = 1
apc.shm_size = 128M
apc.ttl = 7200
apc.user_ttl = 7200
apc.num_files_hint = 1024
apc.write_lock = On
apc.gc_ttl=3600
apc.ttl=0
apc.mmap_file_mask=/tmp/apc.XXXXXX
5.重啟nginx和php_cgi即可。