Curl在Windows命令提示符下不起作用,但它在浏览器上工作正常(localhost)
错误:
C:\wamp\www\site>C:\wamp\bin\php\php5.3.0\php.exe -f index.php
PHP Fatal error: Call to undefined function curl_init() in C:\wamp\www\site\index.php on line 111
Fatal error: Call to undefined function curl_init() in C:\wamp\www\site\index.php on line 111
是PHP Curl已启用,就像我说它在浏览器上运行正常。
答案 0 :(得分:6)
在命令行中运行 php -r“echo php_ini_loaded_file();”以查看正在加载哪个ini文件。
然后在第656行 extension = php_curl.dll 之前删除;
重启apache
要使其工作,请确保将php设置为全局变量,如果没有设置为D:\ wamp \ bin \ php \ php5.2.5(路径可以在您的计算机上更改)命令行&运行代码
答案 1 :(得分:5)
尝试运行
php.exe --re curl
确保curl已启用/可用于php-cli。确保cli使用与web服务器中相同的php.ini,否则也可能需要在那里启用curl。
答案 2 :(得分:4)
我刚刚遇到这个问题 - 在安装PEAR之后。
中有一个php.ini
C:\wamp\bin\php\php5.3.8
但Apache使用的那个位于
C:\wamp\bin\apache\Apache2.2.21\bin
答案 3 :(得分:2)
做一个:
php.exe -i > phpinfo.txt
打开phpinfo.txt
并检查:
很可能,PHP-CLI正在加载不同的.ini
文件。
好吧,好像你可以做一个:
C:\wamp\bin\php\php5.3.0\php.exe -c C:\wamp\bin\php\php5.3.0\php.ini -f index.php
在-c
参数中,指定您要使用的.ini
文件的路径。
答案 4 :(得分:1)
我不确定基于Windows的平台是否也是如此,但在Linux下,CLI PHP可执行文件(命令提示符可运行二进制文件)使用与Web服务器二进制文件不同的php.ini
(可能是Windows下的CGI模块)
在我看来,好像在Web服务器php.ini
中启用了Curl模块,但在CLI版本中没有启用。