64位系統安裝php5.4+apache無法啓動解決辦法

apache無法啓動的原因有很多其實小編覺得最好查出問題的就是看apache的錯誤日志文件了,這樣很快就可以定位到錯誤了,下面我們來看一個64位系統安裝php5.4+apache無法啓動解決辦法

apache2.2+php5.3一直工作正常,今天由于需要將php換成5.4,結果apache就不能啓動了。檢查了好久,從配置文件,到重裝一直不能解決。最後查了很多資料終于得到了解決方法,特此貢獻出來,希望幫到大家。

首先,查看apache的錯誤日志,發現一段類似下面的信息:

httpd.exe: Syntax error on line 65 of D:/server/apache/conf/httpd.conf: Cannot load D:/server/php/php5apache2_2.dll into server: %1 \xb2\xbb\xca\xc7\xd3\xd0\xd0\xa7\xb5\xc4 Win32 \xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xa1\xa3

這是因爲php5.5使用的編譯器是vc11,php5.4和php5.3的是vc9,php5.2是vc6。同時還要注意是x86版本,還是x64版本。目前只有php5.5提供x64版本,其他都只有x86版本。

apache.org下載的Apache都是vc6版本,否則就根據不同文件說明安裝不同的運行庫。

vc11運行庫x86/x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=30679
vc10運行庫x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5555
vc10運行庫x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=14632
vc9運行庫x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5582
vc9運行庫x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=15336

如果不清楚你的情況,可以安裝全部運行庫,再也不用爲這個問題擔憂了。

如果Apache/PHP還無法啓動,那最可能是php5_module模塊的問題:

1、Apache2.0對應的PHP模塊爲 php5apache2.dll

2、Apache2.2對應的PHP模塊爲 php5apache2_2.dll

3、Apache2.4對應的PHP模塊爲 php5apache2_4.dll

換句話說,根據php5_module模塊,可以知道當前版本php支持哪種Apache

所以,Apache/PHP的搭配有以下幾種情況:

1、php5.2支持Apache2.0和Apache2.2;

2、php5.3、php5.4同時支持Apache2.2和Apache2.4;

3、php5.5只支持Apache2.4

除非你自己手動編譯php5_module模塊,否則只能有以上3種選擇。

如果Apache/PHP還是無法啓動,檢查php配置(php.ini)是否存在,運行php.exe有沒有提示錯誤。根據錯誤提示,糾正錯誤。


Apache配置問題,或者80端口被占用

使用Apache的配置檢查:

C:\>D:\Apache2.2\bin\httpd.exe -t
Syntax OK
根據錯誤提示,糾正錯誤。

如果是80端口占用,這個在Windows機器比較常見,經常被IIS搶占。

注銷IIS服務:

iisreset /stop
iisreset /disable

sc stop w3svc
sc delete w3svc
如果不是IIS,可以使用命令殺掉強占80端口的進程:

# 查找占用80端口的進程pid
netstat -ano|find ":80"

# 假設該進程pid爲2013,查看進程名稱:
tasklist /fi "pid eq 2013"

# 殺掉該進程命令
taskkill /f /pid 2013
如果不是上述問題,那可能是系統網路問題,如下警告:

setup_inherited_listeners(), WSASocket failed to open the
inherited socket.

使用命令修複Windows網路:

netsh winsock reset
重啓機子,如果問題還無法解決,嘗試以下方法:

本地連接 -> 屬性 -> 高級 -> Wins標簽 -> 去掉啓用LMhosts查詢前的勾選

如果你不是很清楚的話,也可以把以上這些庫都裝上。安裝好了之後,再啓動apache,此時發現已經可以正常啓動了。

更多相關文章
  • 在未安裝vmware機之前apache可以正常忘卻了,但安裝vmware之後發現apache忘卻不了了,碰到這種問題是因爲vmware把80端口給占了,我們只要簡單的一下配置即可.最近安裝了vmware以後,占用了a
  • Redhat 6.2 64位系統安裝Oracle 11g R2數據庫
    安裝Oracle數據庫小編前面介紹過在cenots6.3 64位下安裝了,今天我們再來看看
  • postgresql數據庫也算是一款不錯的小型數據庫了,今天我爲各位介紹centos6.5 64位系統安裝postgresql數據庫教程,希望下文對各位朋友會有所幫助.一.安裝postgresqlyum -y install postgresql postgresql-server postgres ...
  • KVM是一款linux上運行的虛擬機是一個開源的系統虛擬化模塊,自Linux 2.6.20之後集成在Linux的各個主要發行版本中.它使用Linux自身的調度器進行管理下面一起來看看CentOS6.5 64位系統安裝配置KVM虛擬機步驟環境:系統版本:CentOS 6.5 x86_64記憶體:8GC ...
  • 下面來給各位介紹windows7 64位系統下搭建php5.6和apache2.4運行環境,希望文章對各位有幫助.一 :准備階段1:phpphp-5.5.13下載鏈接:http://windows.php.net/d
  • 有此在linux系統中使用PHP5.5的朋友會發現安裝升級到PHP5.5後出現不能調用json_encode問題,這個不是版本問題是我們操作過程有誤,解決辦法很簡單.在ubuntu13.10上通過apt-get的方式
  • win10系統補丁kb3081455更新失敗錯誤0x80070002解決辦法
    安裝windows10系統之後系統自動更新補丁KB3081455了,但是每次更新補丁KB3081455都是失敗的,那麽碰到補丁KB3081455更新不了要如何來解決,具體細節如下所示.如下圖所示win10更新kb3081455報錯,無法更新成功問題解決辦法一位微軟工程師在論壇中給出了修複方式,那就是 ...
  • 安裝MYSQL-PYTHON包報錯mysql_config not found解決辦法
    安裝MYSQL-PYTHON包報錯EnvironmentError: mysql_config not found問題要如何來解決呢,今天我們就一起來看看這個問題的解決辦法,具體操作如下所示.使用pip install MySQL-python的方式安裝,遇到以下幾個問題:1.提示錯誤Environ ...
一周排行
  • 租我app是什麽 租我app怎麽使用
    租我app是什麽呢,這又出了一款神app了,這個租我app就是可以把自己的男朋友或女朋友租
  • 蘋果App store下載慢是什麽原因怎麽解決
    App store下載慢我們先會爲各位分析具體的原因了,然後再嘗試介紹一些解決辦法了,希望 ...
  • 在 Mac Air 下用 pip 安裝一些 Python 庫時報錯"unused-command-line-argument-hard-error-in-future",以下是本人理事的錯誤原因及 ...
  • 根據大體上的意思我感覺js setAttribute與jquery中attr工作是完全一樣的,只是jquery中簡寫了並且工能更強大了,下面我來分別介紹一下他們的用法.setAttribute(string name ...
  • 來我們一起來看一篇linux系統nginx+java+php的環境配置教程,這篇教程比較適合于各位要做全能主機的朋友.一.配置目標1.通過lnmp完成基礎環境的安裝通過lnmp安裝後,相關軟件的位置請參考其官方說明.
  • 我們要經常要用到的幾個正則驗證實例,如ip地址 email格式 電話號碼正則驗證,下面我一一給大家詳細介紹介紹,有需要的朋友可參考參考.php驗證ip格式的程序代碼如果網站有表單需要填寫ip地址,那麽先要驗證格式是否
  • HTC One M9+支付寶指紋支付設置方法詳解
    支付寶指紋我相信使用iphone設備的果粉肯定是知道如何使用支付寶指紋了,下文我要介紹的是 ...
  • 文章分析總結了關于CONVERT()函數在操作日期時的一些常見的用法分析下面來看看.CONVERT的使用方法:///////////////////////////////////////////////////// ...
  • DataGuard是甲骨文推出的一種高可用性數據庫方案,是在主節點與備用節點間通過日志同步來保證數據的同步,可以實現數據庫快速切換與災難性恢複.dataguard環境下使用alter user sys identif
  • 碰到一個比較奇怪的問題剛學習做Oracle時在做一個測試時發現數據庫啓動時提示ORA-08103錯誤,下面一聚教程小編來給各位一下吧.碰到一個比較奇怪的問題剛學習做Oracle時在做一個測試時發現數據庫啓動時提示OR