Heim  >  Artikel  >  Backend-Entwicklung  >  php无法开启php_curl

php无法开启php_curl

WBOY
WBOYOriginal
2016-06-23 13:16:36811Durchsuche

网上看了很多方法都不行
phpinfo里面Loaded Configuration File是C:\Windows\php.ini   所以这个是没问题的
修改php.ini里
extension=php_curl.dll前面去分号
extension=php_openssl.dll前面去分号
extension_dir = "D:\AppServ\php5\ext"

php_curl.dll,libeay32.dll,ssleay32.dll,php5ts.dll这4个文件我放到了C:\Windows\System32,C:\Windows\SysWOW64甚至连C:\Windows\我都放了   

在Apache的httpd.conf的文件里我加入了
LoadFile D:/AppServ/php5/libeay32.dll
LoadFile D:/AppServ/php5/ssleay32.dll

以上操作都试了还是不行


回复讨论(解决方案)

你的 Windows 是 64 位的,请将复制到 C:\Windows\System32 中去的 32 位的 dll 统统删去
因为该目录存放的都是 64 位的,若把 32 位的 dll 放在其中就误事了
C:\Windows\SysWOW64 才是 32 位兼容目录
如果你需要 LoadFile D:/AppServ/php5/libeay32.dll
那么应写作 LoadFile C:/Windows/SysWOW64/libeay32.dll

你的 Windows 是 64 位的,请将复制到 C:\Windows\System32 中去的 32 位的 dll 统统删去
因为该目录存放的都是 64 位的,若把 32 位的 dll 放在其中就误事了
C:\Windows\SysWOW64 才是 32 位兼容目录
如果你需要 LoadFile D:/AppServ/php5/libeay32.dll
那么应写作 LoadFile C:/Windows/SysWOW64/libeay32.dll



我把放到C:\Windows\System32 和C:\Windows\中的那4个dll都删去了
Apache的httpd.conf 里
LoadFile D:/AppServ/php5/libeay32.dll
LoadFile D:/AppServ/php5/ssleay32.dll
改成了
LoadFile C:/Windows/SysWOW64/libeay32.dll
LoadFile C:/Windows/SysWOW64/ssleay32.dll

但还是不行

你的 Windows 是 64 位的,请将复制到 C:\Windows\System32 中去的 32 位的 dll 统统删去
因为该目录存放的都是 64 位的,若把 32 位的 dll 放在其中就误事了
C:\Windows\SysWOW64 才是 32 位兼容目录
如果你需要 LoadFile D:/AppServ/php5/libeay32.dll
那么应写作 LoadFile C:/Windows/SysWOW64/libeay32.dll


或者说跟我下的php版本有关,我下的是32位的

不知道你 php 是怎么安装的, 
我是这么做的, 
PhpIniDir "d:/wamp/php"
LoadModule php5_module "d:/wamp/php/php5apache2_2.dll"

再在 php.ini 中设置:
extension_dir="d:/wamp/php/ext"

开启curl 扩展, 把 d:/wamp/php 加到环境变量 PATH 中去, 就可以了

不知道你 php 是怎么安装的, 
我是这么做的, 
PhpIniDir "d:/wamp/php"
LoadModule php5_module "d:/wamp/php/php5apache2_2.dll"

再在 php.ini 中设置:
extension_dir="d:/wamp/php/ext"

开启curl 扩展, 把 d:/wamp/php 加到环境变量 PATH 中去, 就可以了


我的环境是用appserv安装的
后来php版本低我就换成了 5.4.41
--------------------
phpini是默认的c盘windows下
LoadModule php5_module和extension_dir也没错
curl扩展也开了   php的路径也在环境变量 PATH 中

上周正好遇到同样的问题:

windows xp 32

apache2.2

php5.4.36 vc9 Thread Safe



启动apache过程中提示warning php startup


查看apache error.log

PHP Warning:  PHP Startup:  in Unknown on line 0

没有任何提示,逐一关闭扩展,发现是php_curl加载时报错,而且phpinfo()中curl没有加载上

解决办法:


将php安装目录下的libeay32.dll,libssh2.dll,php5ts.dll,php_curl.dll,ssleay32.dll 复制到system32目录下

在httpd.conf 中加载如下依赖文件 

LoadFile c:/php5.4.36/php5ts.dll 

LoadFile c:/php5.4.36/libeay32.dll 

LoadFile c:/php5.4.36/ssleay32.dll 

LoadFile c:/php5.4.36/libssh2.dll

注意主要是php_curl.dll,网上的解决方案都没提这个文件
两个方法都可以解决,但是我本机装了多个版本php,所以不适合放到system32,就改的httpd.conf

试着在系统变量里加php.exe路径

  敬请不是在 64 位系统使用 32 位 php 的朋友免开尊口!

在 32 位系统中配置 php 时,任何复制文件的做法都是错误的!

连phpinfo里都没有任何关于curl的东西,也不说disable或者enable   直接就搜不到

phpinfo中没有,就表示安装失败或没有开启,检查一下。

不知道楼主这个问题解决了没有,我注意到了4楼把PhpiniDir放到了LocadModule的上边,意外的是redis出来了,而之前我是curl和redis都没有,不管怎么说,算是解决了一个,再找找,怎么把curl弄出来吧。

没有开启curl
页面提示什么?可以通过phpinfo查看下curl扩展是否打开

到官方下载对应版本的curl文件

重装是万能方法

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn