热搜:NVER node 开发 php

php无法开启php_curl

2024-07-24 21:00:01
php无法开启php_curl

网上看了很多方法都不行
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文件

重装是万能方法