本文目錄一覽:
- 1、Linux裏面頁面502怎麼解決?
- 2、windows2003怎麼定時重啟PHP-CGI
- 3、php-cgi.exe應用程序錯誤 “0x00000000″指令引用的”0x00000000″內存.該內存不能為”read”;
- 4、CGI模式下,如何重啟PHP
- 5、cgi、fastcgi、php-cgi、php-fpm異同
- 6、liunx php5-cgi 如何重啟?
Linux裏面頁面502怎麼解決?
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
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”(下載地址:),下載該源碼包,然後執行以下命令:
$ 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驅動二進制包(下載地址:),可以下載與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是實現
liunx php5-cgi 如何重啟?
通俗一點,,,就是把linux操作系統許進光驅,,再按照提示一步一步的裝,到了提示要把linux操作系統安裝目錄下後,,,就選擇D盤,,或者E盤,,,反正不要放在XP安裝盤裏面就行。,。。然後再一步一步裝下去,。,,就行。。
原創文章,作者:QEPP,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/141241.html