我有一个从后端下载文件的 PHP。我在 Windows 7 中使用 WAMP,通过浏览器完成后它可以完美运行。
现在我创建了一个批处理文件来执行 php,它显示:
致命错误:调用未定义的函数 curl_init()
不知道为什么可以在浏览器中工作的东西在批处理文件中不起作用。以下是我的批处理文件代码:
@ECHO OFF
php.exe -f "C:\wamp\www\test\test.php"
知道有什么问题吗?
取消注释您的 php.ini 上的以下内容
;extension=php_curl.dll
并重新启动网络服务器。这可能是由于您的 php.ini 中禁用了 curl。
当您使用 wamp、xamp 或其他一体式服务器时,它使用位于 bin/conf/ 中的覆盖的 php.ini,而不是原始位置。
您需要从中复制或编辑位于 php.exe 文件夹中的 ini。
如果您无法访问它(共享服务器等),您可以在脚本文件夹中创建一个自定义 php.ini 文件,并放入所需的说明:
extension_dir = "c:/wamp/bin/php/php5.3.5/ext/" // change version if needed to yours
extension = php_curl.dll
通过浏览器使用时,它使用的是 WAMP,PHP ini 来自 C:\wamp\bin\php\php5.4.3
但是我在环境变量中将我的 php 目录设置为 C:\php-5.4.9,因此当使用 windows 批处理时,它会从该目录调用 php,并且那里没有 php.ini 文件。
我将 PHP ini 文件从 wamp 复制到 php 文件夹,现在它可以工作了。
显然我已经安装了 php 然后 wamp,因此存在重叠导致混乱。
我的解决方案:
1)sudo apt-get install php5-curl
2) 重启服务器