我做过sudo apt-get install curl,sudo apt-get php5-curl,sudo apt-get php-curl但是我得到curl_init()的未定义函数
有人知道任何解决方案吗?
这是我的PHP代码。
<?php
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "example.com");
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
?>
答案 0 :(得分:4)
使用phpinfo();
函数检查apache使用的PHP版本。
检查很重要,因为您可能因任何原因切换到较低版本(就像我的情况一样)。
现在从命令行运行此命令以安装curl
*(Don\'t copy this) sudo apt-get install php[version of php]-curl*
例如,如果 5.6 ,则使用
sudo apt-get install php5.6-curl
之后,不要忘记重启apache2
sudo service apache2 restart
答案 1 :(得分:4)
对于运行php7.0的Ubuntu 16.04,你应该指定如下版本:
en
然后,像往常一样,用
重启apache sudo apt-get install php7.0-curl
答案 2 :(得分:2)
试试这个:phpenmod curl
并重新启动apache。希望这有帮助(;
答案 3 :(得分:2)
对于任何在安装php扩展程序时遇到类似问题且仍然获得undefined
的人:
php -i | grep EXT_NAME
中EXT_NAME
(在上述情况curl
中)的任何内容,或者只是使用{生成测试文件,请运行phpinfo()
以查看输出{1}}并查看您是否发现了扩展程序。<?php phpinfo(); ?>
查看已加载的扩展程序,并使用php -m
或php -v
检查是否有其他安装优先于find -name 'php.ini'
或多个php.ini文件在根目录中。 3#可以通过运行locate php.ini
如果您从源代码构建另一个可能的原因可能是您在安装扩展程序后忘记重新编译PHP(在这种情况下,service apache2 restart
)curl
。