Apache2.4無法啟動和PHP沒有加載擴展到的解決方法


Apache2.4無法啟動和PHP沒有加載擴展到的解決方法

● Apache2.4無法啟動

●● 症狀:

雙擊 httpd.exe 正常,但是以服務方式無法啟動,報錯如下

> net start apache2.4

Apache2.4 服務正在啟動 .
Apache2.4 服務無法啟動。

發生服務特定錯誤: 1.

請鍵入 NET HELPMSG 3547 以獲得更多的幫助。

 

●● 解決過程

查看 apache2.4\logs\error.log 只提示 Apache2.4 收到一個 Received shutdown signal ,再無任何可用信息。

由於以服務方式啟動,windows一定有日志記錄,於是打開 ”事件管理器“ ,確實看到“錯誤”記錄

Apache2.4 服務由於下列服務特定錯誤而終止:

函數不正確。

The Apache service named reported the following error:
>>> httpd.exe: Syntax error on line 78 of D:/WEBSERV/Apache24/conf/httpd.conf:
Cannot load modules/mod_perl.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3 .

於是 在 httpd.conf 中注銷了 mod_perl
# LoadModule perl_module modules/mod_perl.so

net stop Apache2.4
sc delete Apache2.4
D:\WEBSERV\Apache24\bin\httpd -k install
net start Apache2.4

Apache2.4 啟動成功。

●● 總結

1. 以上報錯是由於APACHE找不到相關模塊的DLL

比如沒有安裝對應的VC庫,或者是模塊專用的DLL文件沒有加載,這個DLL文件一般放置於Apache24/bin 目錄,

需要把 perl 加載到系統 path 環境變量中,這樣 MOD_perl 就能找到相應的 dll 了

2. Apache2.4 無法啟動聽說還有可能是由於 80 端口被占用,啟用了 LMHOSTS 等原因

端口是否占用 netstat -ano|findstr "80"

在 INTERNET 設置中,將啟用LMHOSTS前面的對號給去掉

 

●當解決了無法啟動 Apache2.4 的問題之后,PHP又出了問題,真是按下葫蘆浮起瓢。

●● 症狀:

在運行一個腳本時報錯

Warning: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?

●● 解決過程

這明顯是openssl的問題,查看 phpinfo() 之后,發現沒有加載 OPENSSL擴展

首先 php.ini是開啟了OPENSSL的 , 用 php -m 指令查看確實有加載OPENSSL

那問題來了, 在Apache2.4和php的關聯設置中,導致找不到PHp的擴展模塊或者模塊報錯沒有被加載

1. 相關的DLL文件沒有加載

在php目錄拷貝相關的 DLL 文件到 Apache24\bin\ 目錄,

然后在 httpd.conf 或者相關的Apache的的配置文件中加入 LoadFile "D:\WEBSERV\Apache24\libssh2.dll

上面的這個DLL位於 http://windows.php.net/downloads/pecl/releases/ssh2/0.12/

2. php.ini的 ext 指向錯誤,導致一些擴展沒有加載。

如果php單獨可以使用,但是關聯到APACHE中就找不到擴展模塊,一般是由於 php.ini的 ext和 Apache中配置的ext參數不統一導致的。

 

本次在 php.ini中重新配置了ext后,重啟一切正常。

 


● 附帶Windows事件查看器的應用


打開 控制面板\所有控制面板項\管理工具\事件查看器
或者 按下 win+r 的運行對話框中輸入 eventvwr.msc 按回車鍵打開事件查看器

在 事件查看器\Windows 日志\應用程序 中的最上面找到“錯誤”信息,如果正在調試Apache ,這個錯誤就是它的

為了醒目,按下最右側的“清除日志”,把所有的日志都清除了,然后再次打開 事件查看器,當前應用程序的”錯誤“ 更醒目。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM