wamp在win7-64位下Unable to load dynamic library php_c

wamp在win7-64位下Unable to load dynamic library php_curl.dll
網上不少資料都相似這個:
PHP在Windows下啓動時提示Unable to load dynamic library php_curl.dll問題解決
做者:朦朧中的罪惡 發佈於:2012-3-2 5:01 Friday 分類:疑難雜症
這個問題容易手配PHP的時候出現, 在php.ini中正確開啓了curl擴展後, 在PHPINFO中卻看不到相關的信息, 而Apache的日誌會顯示如下錯誤:
PHP Warning:  PHP Startup: Unable to load dynamic library 'D:\\DEV\\ENV\\php-5.3.10\\ext\\php_curl.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
什麼緣由形成的這個問題呢?
答案是curl擴展對庫文件有依賴, 就像在Linux下面編譯PHP的時候也須要安裝依賴的庫同樣.
在PHP官網手冊的Windows下安裝擴展庫的頁面上已經詳細的標註了PHP全部的擴展文件依賴那些庫. 其中特別提示瞭如下內容

有些擴展庫須要額外的 DLL 才能工做。其中一部分包括在發行包裏,PHP 4 中在 C:\php\dlls\目錄下,PHP 5 中在主目錄下,但還有一些,例如 Oracle( php_oci8.dll)所須要的 DLL 沒有綁定在發行包裏。若是安裝 PHP 4,將綁定的 DLL 從 C:\php\dlls拷貝到主目錄 C:\php中。別忘了將 C:\php放到系統路徑 PATH中去
 
在頁面的介紹中,咱們能夠查詢到curl擴展依賴libeay32.dll, ssleay32.dll這兩個庫文件, 這兩個文件已經附屬在PHP的Windows程序包中,咱們無需去單獨下載. 搞清楚了這些, 解決方法也很簡單了: 讓Windows或者Apache能順利加載到這個2個dll文件便可, 下面我列出幾個解決方案
方案1 將libeay32.dll, ssleay32.dll拷貝到c:\windows\system32文件夾中
方案2 將你PHP程序的目錄加入到系統的PATH變量中便可
方案3 若是你使用的是Apache服務器且使用模塊的方式來運行PHP的話, 能夠在httpd.conf中加載PHP模塊的配置語句以前加上下面兩句話讓Apache來加載這兩個dll, 例子以下:
LoadFile "D:\DEV\ENV\php-5.3.10\ssleay32.dll"
LoadFile "D:\DEV\ENV\php-5.3.10\libeay32.dll"
LoadModule php5_module "D:\DEV\ENV\php-5.3.10\php5apache2_2.dll"
但通過測試,並不可行,繼續查找,發現問題仍是歸結爲64位系統下的特殊問題
本人是win7 64位系統,在使用 wamp開啓curl擴展時候失敗,
 
apache日誌中顯示
 
<b>Warning</b>: PHP Startup: Unable to load dynamic library 'd:/wamp/bin/php/php5.3.13/ext/php_curl.dll' - 應用程序沒法啓動,由於應用程序的並行配置不正確。有關詳細信息,請參閱應用程序事件日誌,或使用命令行 sxstrace.exe 工具。
 
 
libeay32.dll, ssleay32.dll都已經作過了拷貝到c:\windows\system32文件夾中的處理
 
問題依舊,
 
查看了win7的事件查看器 有以下提示
「d:\wamp\bin\php\php5.3.13\ext\php_curl.dll」的激活上下文生成失敗。 找不到從屬程序集 Microsoft.VC90.DebugCRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。 請使用 sxstrace.exe 進行詳細診斷。
 
 
從國外的網站上查到了以下的解決方法
Re: Wamp Server 2.2 Windows 7 64-bit and curl not working side-by-side configuration incorrect
Posted by: chytons (41.71.136.---)
Date: July 04, 2012 05:38PM
 
Go to [www.anindya.com] download *php_curl-5.4.3-VC9-x64.zip* under "Fixed curl extensions:" and replace the php_curl.dll in ext folder. This worked for me.
 
原文
 
 
訪問http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/ 找到下載
 
php_curl-5.4.3-VC9-x64.zip (注意:根據你的php版本下載相應的庫)的連接;結果悲劇發生了,下載連接被牆了
 
展轉香港服務器最終下載獲得該文件
 
http://205.196.120.154/ewohl2d3ccqg/qwgdzgccthzwc15/php_curl-5.3.13-VC9-x64.zip
 
 
替換以前的 php_curl。dll以後重啓apache,搞定了

摘錄自:http://www.csdn.cc/post/2013-03-24/40048287302php

相關文章
相關標籤/搜索