2011-11-24 134 views
7

無法加載C:/PHP5/php5apache2_2.dll到服務器在運行窗口XP的機器上的Apache 2.2無法加載php5apache2_2.dll

人有任何想法可能是什麼問題,我得到這個錯誤。我可以看到c:/ php5文件夾中沒有php5apache2_2.dll。

+0

簡單的答案是在這裏:http://stackoverflow.com/a/13965313/1142944 – tesmojones

+0

@tesmojones恐怕事實並非如此。我有問題與Apache 2.2和線程安全的PHP 5.5在Win 7 –

回答

2

首先你必須下載.dll文件(php5apache2_2.dll) 然後把它放在你的擴展目錄中。

然後編輯php.ini文件,找到德文本:

;延長= php5apache2_2.dll

//並改變y以 延長= php5apache2_2.dll

如果文本不存在放行自己。 然後重新啓動Apache,它應該加載你的擴展。

PD:你可以看到你的擴展目錄所在尋找 在你的php.ini文本「下extension_dir」,有時看起來像: 的extension_dir = C:\ PHP \擴展

希望這有助於你,如果沒有請在這裏粘貼錯誤,你可以在apache/error/error.log中找到 錯誤日誌文件或類似的東西。

+0

嗨sandino,感謝您的答覆,但從我可以下載php5apache2_2.dll谷歌它,但沒有找到任何合適的站點 – user965884

+0

安裝.dll文件當你安裝php(如果命令行你可以指定加載dll)或者如果你安裝一些包如xamppp它已經安裝。 – sandino

+0

如果你的apache沒有編譯成php5的suport文件,你必須在你的apache.conf文件中加入:LoadModule php5_module「c:/php/php5apache2_2.dll」。你可以從這裏下載PHP源代碼和DLL的http://windows.php.net/download/ – sandino

2

你應該從PHP distribution package下載dll文件。並參見three ways to set up PHP to work with Apache 2.x

可以在< [APACHE_HOME]> \ CONF配置PHP像Apache處理程序\ httpd.conf文件如下:

LoadModule php5_module "c:/php/php5apache2_2.dll" 
AddHandler application/x-httpd-php .php 
#configure the path to php.ini 
PHPIniDir 'C:\php\' 

注:爲了避免錯誤,同時啓動Apache時,php ini dir路徑應該是用反斜槓單引號。不要忘記用反斜槓結束它。

+0

該DLL不包含在他們的5.5 zip文件(php-5.5.9-nts-Win32-VC11-x86.zip)中,因爲某些原因非線程安全。他們的安裝說明鏈接到源代碼,這沒有幫助。儘管它在線程安全的拉鍊中。 – GregInWI2

2

這是我如何得到它去:

  1. 創建的文件夾C:\ Apache的
  2. 下載並安裝HTTP-2.2.22-win32的86無ssl.msi 在安裝過程中,進入localhost爲網絡域名和服務器名稱
  3. 從瀏覽器,在地址http://localhost/和頁面類型與「這工程」 (我不知道是否有一個上帝來了,但採取的是一個好兆頭:)

  4. 創建文件夾C:\ PHP

  5. 下載並安裝php-5.2.17-Win32-VC6-86。微星
  6. 創建在記事本中的新文件有以下:
  7. 在Apache/htdocs文件夾保存爲phpinfo.php的
  8. 從瀏覽器中鍵入URL中http://127.0.0.1/phpinfo.php
    它沒有工作(即它沒有運行.PHP程序文件)

  9. 嗯,哦,是的,你必須重新啓動Apache它看到更新其 自己的配置文件
    開始,阿帕奇,控制..
    - >產生的錯誤,它無法找到C:\ Apache的\ php5apache2_2.dll

  10. 好吧,我發現它在C:\ PHP和我把它複製到C:\ Apache的\
    開始,阿帕奇,控制..
    - >產生有關與第C 495線PHPIniDir指令的問題的錯誤:/Apache/conf/httpd.conf

  11. 修正了通過編輯在上述文件中的該行

    PHPIniDir "C:/PHP/php.ini" 
    
  12. 試圖重新啓動Apache ,在瀏覽器中運行測試文件。 不過,這並沒有工作:(

  13. 回憶之前看到這一點,並決定重新啓動計算機 重新啓動(或啓動)Apache服務器

  14. 再次運行測試文件.. 它的工作!

注意,在一些上面的我可能有一些前進和後退混合起來的斜線 祝你好運!

4

什麼爲我工作獲得php5apache2_4 .dll-php-5.4-win32.zip從 apachelounge並使用「PHP 5.4.8」解壓縮文件夾中的「php5apache2_4.dll」文件。我在我的Win 7(64位)上安裝了apachelounge.com的apache 2.3.4(32位)和windows.php.net的php 5.4.9(32位)。

儘管5.4.8 - 5.4.9不匹配,該DLL仍然可以工作。

將造成相應的「php.ini中」和「的httpd.conf」內的變化要維持acoording這個helpful guide.

最好的問候。

+1

我下載了php 5.4.9!提取zip文件,但無法找到php5apache2_4.dll。我在這裏錯過了什麼嗎? – VishwaKumar

+0

我得到了PHP 5.5與這裏的文件一起工作:http://www.apachelounge.com/viewtopic.php?p=25460 我用php5apache2_2.dll。 –

0

以上都沒有爲我工作。我嘗試更換php5apache2_2.dll文件並重新啓動一切,但得到了同樣的錯誤。我最終卸載了Apache,MySQL和PHP,刪除了路徑變量,然後安裝了WampServer。一切都在不到5分鐘內完成並運行。

順便說一下,我通過刪除程序文件中的文件夾來卸載PHP,因爲它在「添加/刪除程序」中沒有打開。卸載後我還刪除了剩餘的Apache和MySQL文件夾。

0

即使文件存在,並且apache顯示此文件不存在的錯誤,請安裝Microsoft C++ Redistributable Package。請注意,您必須安裝2008版,然後是2010年。安裝這兩個軟件包,不僅是2010版。

0

我有過類似的問題。在遵循特定的Youtube教程後,我發現如果你在Apache運行時編輯httpd.conf文件,它會搞砸。 確保先安裝Apache ...然後關閉它,然後安裝php。它應該編輯httpd.conf文件本身。這個Youtube教程解決了我的問題。 http://www.youtube.com/watch?v=UKbEzmMliNM 希望它有幫助。我安裝了MySQL並正在工作......但必須安裝.Net 4 Framework。

1

你得到一個錯誤,由於這樣的事實,在C:/PHP5/php5apache2_2.dll不隨PHP的非線程安全的版本,您可能下載。有兩個選項:

  • 下載並安裝PHP的線程安全的版本而不是和你 會得到你所需要的一切。

  • 如果非線程安全版本對於您想要完成的任務很重要,請下載線程安全版本的zip包,然後僅從該文件夾中獲取所需的.dll文件。

的版本:對於Apache服務器2.2,您需要下載PHP 5.4線程安全的,它隨雙方php5apache2_2.dll和php5apache2_4.dll。一些早期的版本可能也適用。 PHP 5.5只與php5apache2_4.dll一起發貨,這將與您的版本不匹配。

比照下載鏈接在這裏的官方網站:http://windows.php.net/download/

1

對我來說,這個問題是來自其他網站,替換文件php5apache2_2.dll解決不知何故從php.net網站下載的文件已損壞。

我已經有文件php5apache2_2.dll我WAMP 2.2和PHP版本5.3.13所以我只是複製該文件到我35年5月4日的版本和它的工作。

我沒有與Apache配置混亂其他人的建議。

還有一件事我所做的就是安裝Visual C++可再發行的Visual Studio 2008爲我運行Windows 7旗艦版64位機。我不認爲這有幫助,因爲我已經有了x86版本並使用了我以前的PHP版本,但是這是我採取的行動的一部分。

0

我有同樣的錯誤。 我安裝了x64版本的Apache和x86版本的php。 經過一番搜索後,我發現這是行不通的。

所以我不得不安裝x64(threadsafe)版本的PHP。 之後這個Apache工作正常。 :) 希望這有助於!