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 ...
一周排行
  • 重複的記錄在mysql中可能會影響我們對數據的判斷及對網站優化的影響了,今天我們一起來看小編整理了一些常用的查詢數據庫中重複的記錄幾條sql供各位參考.1.根據表中單個字段(name)來查詢重複記錄SELECT *
  • css 兩列布局應用例子(兼容ie,ff,360)
    兩列布局是我們在前端應用中做得最多最多的一種辦法了,當然實現方法有很多種,下面我整理了一些 ...
  • 如果我想使用C++連接mysql數據庫我們首先去MySQL官網下載MySQL connector/C++,然後按下面方法配置好之後才可以連接mysql哦,有需要了解同學可參考.下載第二個包,windows32位非安裝 ...
  • PHP 5.3 ereg() 無法正常使用,提示"Function ereg() is deprecated Error"是因爲它長ereg 函數進行了升級處理哦,需要像preg_match使用/ ...
  • 下面我來給大家轉一個關于Laravel4創建一個占位圖片服務例子,有需要了解的朋友可看看.使用Composer安裝intervention/image庫 代碼如下 composer require intervent
  • php的慢速日志引起的Mysql 2013錯誤怎麽辦,下面我們就一起來看看這個問題的解決辦法,希望例子能夠幫助到各位.Description:————If mysql query is longer as reque ...
  • 保存數據到mysql數據庫中我們需要使用update或insert來協助我們完成,下面我給學習php的朋友介紹幾個應用例子,希望文章給你帶來幫助.我們先來介紹INSERT語句語法1: INSERT INTO tabl
  • PDF文件怎麽轉換成Word文檔
    PDF轉換成Word我們手工肯定是轉不了的,只能借助一些常用的工具了,在這裏我們推薦大家去 ...
  • 360兒童衛士app怎麽玩
    360兒童衛士聽名字就是知道專門爲小朋友做的一個app了,下面我們來看看這款360兒童衛士 ...
  • 調用代碼 private void testusing() { using (idbhelper dbhelper = new sqlhelper(basesysteminfo.usercenterdbconnect