更新:问题似乎是我的PHP安装中的某个地方已损坏的DLL,或者可能是Win2k上的PHP 5.2.9中的错误.我从php.net下载了PHP 5.2.10的windows(仅限二进制文件)发行版,并将其解压缩到我的c:\ PHP目录中.在这之后,一切都很好.
Update2:我解除了我之前尝试过的所有内容(下面的项目符号列表中的所有内容),除了我extension=php_curl.dll在php.ini文件中没有注释.事实证明,在正确的安装中你应该做的就是这一切.
我正在尝试让CURL在PHP的Windows安装(版本5.2.9-2)上工作,而我现在已经结束了.我找到了PHP CURL安装页面,这个SO问题引用了这个页面,这个问题.我已经在所有这些页面中尝试了大部分建议,但我仍然遇到错误.这是我非常简单的测试页面:
<?php
$ch = curl_init();
?>
<b>Success!</b>
Run Code Online (Sandbox Code Playgroud)
这给了我:
致命错误:在第2行的C:\ ApacheRoot\curltest.php中调用未定义的函数curl_init()
在我的Apache错误日志中,每次服务器启动时都会收到:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\PHP\\ext\\php_curl.dll' - The specified procedure could not be found.\r\n in Unknown on line 0
我做了以下事情:
extension=php_curl.dllssleay32.dll并libeay32.dll从C:\ PHP 复制到C:\ WINNT\System32C:\cURL到我的系统PATH环境变量中.extension_dir="C:\PHP\ext"C:\PHP\ext包含php_curl.dllphp.ini我系统上的唯一文件是C:\PHP(即特别是没有C:\WINNT\php.ini)httpd.conf文件包含该行PHPIniDir "C:/PHP/"我也重新启动了机器(好几次,实际上......).
您不必重新启动计算机,只需重新启动Apache,php模块将读取新的ini.
你有没有改变正确的php.ini?如有疑问
<?php echo 'php.ini: ', get_cfg_var('cfg_file_path'); ?>
Run Code Online (Sandbox Code Playgroud)
可以告诉你.
apache的error.log中是否有东西表明在加载php和php_curl.dll时出现了问题?
你是否以win32服务启动了apache?如果您尝试将其作为控制台应用程序启动.然后,错误消息将显示在控制台上.或者将其作为服务启动并查看error.log文件和 Windows事件日志(启动,运行eventvwr.msc /s).
编辑:
"无法找到指定的过程"
您需要一个与您的PHP版本兼容的DLL.究竟你安装了什么,你从哪里得到它?
试试这个:
这应该有希望解决它.
*编辑:做同样的事情@ C:\ Path\To\WAMP\bin\php\PHPVersion \