CURL 在 PHP 中启用但在 Laravel 中禁用

CURL is enabled in PHP but disabled in Laravel

我想在我的 Laravel 5.3 应用程序中使用 CURL,但它 returns 错误:

Call to undefined function App\Http\Controllers\curl_init()

我创建了 info.php 文件来测试 curl 包含:

<?php 
    var_dump(function_exists('curl_version'));
    phpinfo();
?>

它 returns 正确并显示 curl 已启用:

但是当我测试它时 里面 laravel :

dd(function_exists('curl_version'));

它 returns !!

当我 运行 php --ini 在终端时 returns :

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_curl.dll' - /usr/lib/php/20151012/php_curl.dll: cannot open shared object file: No such file or directory in Unknown on line 0

我尝试在 laravel 之外的 info.php 中使用 curl_init() 并且有效!

为什么会发生这种情况以及如何解决?

在您的错误消息中,PHP 尝试解析 App\Http\Controllers 命名空间中的 curl_init 函数。如果根本问题与您稍后粘贴的 PHP 警告无关,则如果您在 curl 函数前加上反斜杠,例如 \curl_init.

,它们应该可以工作

这样你就可以告诉 PHP 该函数位于顶级命名空间中,而不是 App\Http\Controllers

我 运行 Laravel 有:

php artisan serve --host 0.0.0.0

但是当我把它改成:

php artisan serve --host my_private_IP 

现在可以使用了。