php中CURL加载失败

来源:互联网 发布:&在c语言中是什么意思 编辑:程序博客网 时间:2024/05/18 02:25
最近开发php项目需要用到访问其他网站接口,使用到了PHP_CURL去加载远程地址,但是操蛋的问题来了,phpinfo()中看不见CURL信息,CURL模块加载失败,恶心的php错误日志中就提示了一个:[25-May-2015 09:55:32 UTC] PHP Warning:  PHP Startup:  in Unknown on line 0[25-May-2015 09:55:34 UTC] PHP Warning:  PHP Startup:  in Unknown on line 0擦蛋碎了一地.....然后沉浸于度娘谷歌翻墙,但是结果依然心碎.....网络上的解决方按一个一个的尝试,眼睛都肿了但是还是不行, 结果我使用了一下PHP的CLI模式, 神奇的发现CURL可以使用了.到现在确定CURL是可以使用的,那就是环境问题那就好办了,看来的只能靠自己了.瞄了一会儿php的文件夹结构,发现一个**snapshot.txt**的文件打开一看如下文:

This snapshot was automatically generated on Thu, 14 May 2015 02:51:40 +0000
Version: 5.6.9
Branch: HEAD
Build: C:\php-sdk\php56\vc11\x64\obj\Release_TS
Built-in Extensions:

Core
bcmath
calendar
ctype
date
ereg
filter
ftp
hash
iconv
json
mcrypt
SPL
odbc
pcre
Reflection
session
standard
mysqlnd
tokenizer
zip
zlib
libxml
dom
PDO
Phar
SimpleXML
wddx
xml
xmlreader
xmlwriter
mhash

Dependency information:
Module: php5apache2_4.dll
msvcr110.dll

Module: php-cgi.exe
msvcr110.dll

Module: php.exe
msvcr110.dll

Module: php-win.exe
msvcr110.dll

Module: phpdbg.exe
msvcr110.dll

Module: php5phpdbg.dll
msvcr110.dll

Module: php_bz2.dll
msvcr110.dll

Module: php_com_dotnet.dll
msvcr110.dll

Module: php_curl.dll
libeay32.dll
libssh2.dll
ssleay32.dll
normaliz.dll
msvcr110.dll

Module: php_enchant.dll
libenchant.dll
msvcr110.dll

Module: php_fileinfo.dll
msvcr110.dll

Module: php_gd2.dll
msvcr110.dll

Module: php_gettext.dll
msvcr110.dll

Module: php_gmp.dll
msvcr110.dll

Module: php_imap.dll
msvcr110.dll

Module: php_interbase.dll
msvcr110.dll

Module: php_intl.dll
icuuc54.dll
icuin54.dll
icuio54.dll
msvcr110.dll
msvcp110.dll

Module: php_ldap.dll
libsasl.dll
msvcr110.dll
ssleay32.dll
libeay32.dll

Module: php_mbstring.dll
msvcr110.dll

Module: php_oci8_12c.dll
msvcr110.dll

Module: php_opcache.dll
msvcr110.dll

Module: php_openssl.dll
ssleay32.dll
libeay32.dll
msvcr110.dll

Module: php_pgsql.dll
libpq.dll
msvcr110.dll

Module: php_shmop.dll
msvcr110.dll

Module: php_snmp.dll
libeay32.dll
msvcr110.dll

Module: php_sockets.dll
iphlpapi.dll
msvcr110.dll

Module: php_sqlite3.dll
msvcr110.dll

Module: php_sybase_ct.dll
libsybcs64.dll
libsybct64.dll
msvcr110.dll

Module: php_tidy.dll
msvcr110.dll

Module: php_exif.dll
msvcr110.dll

Module: php_mysql.dll
msvcr110.dll

Module: php_mysqli.dll
msvcr110.dll

Module: php_pdo_firebird.dll
msvcr110.dll

Module: php_pdo_mysql.dll
msvcr110.dll

Module: php_pdo_oci.dll
msvcr110.dll

Module: php_pdo_odbc.dll
msvcr110.dll

Module: php_pdo_pgsql.dll
libpq.dll
msvcr110.dll

Module: php_pdo_sqlite.dll
msvcr110.dll

Module: php_soap.dll
msvcr110.dll

Module: php_xmlrpc.dll
msvcr110.dll

Module: php_xsl.dll
msvcr110.dll


原来是每个扩展的依赖库说明,好了我们找到CURL的:

Module: php_curl.dll

libeay32.dlllibssh2.dllssleay32.dllnormaliz.dllmsvcr110.dll

网络上的教程只有libeay32.dll,ssleay2.dll这两个,但是这里有四个,好说明下:
msvcr110.dll 这个是C++ 2012的运行库;
libeay32.dll
ssleay32.dll 这两个是OpenSSL加密特性相关文件,用于通过网络加密传输。属于: OpenSSL
libssh2.dll C 函数库,用来实现SSH2协议
normaliz.dll 这个没找到

好了我们把libeay32.dll,libssh2.dll,ssleay32.dll,normaliz.dll复制到C:\window\system32\目录下,重启apache,OK了终于成功了.

1 0
原创粉丝点击