【问题标题】:Call to undefined function App\Http\Controllers\curl_init() laravel 5.6调用未定义的函数 App\Http\Controllers\curl_init() laravel 5.6
【发布时间】:2018-10-16 08:14:46
【问题描述】:

当我尝试在控制器中使用 curl_init('some_url') 时出现以下错误:

调用未定义函数 App\Http\Controllers\curl_init()

但是当我使用php artisan tinker 并尝试使用curl_init('some_url') 时,它工作正常并且我没有收到任何错误。

更多信息

当我在终端输入以下命令时

php -i | grep curl

我明白了:

/etc/php/7.2/cli/conf.d/20-curl.ini,
curl

正如this link 中的回答,我尝试使用以下命令重新安装 curl:

sudo apt-get install php-curl

我用

重新启动了apache
sudo service apache2 restart

但是当我尝试在控制器中使用 curl_init() 时仍然会遇到错误。我该如何解决这个错误?

【问题讨论】:

  • 这给了你什么? <?php phpinfo(~0);
  • @hanshenrik 它给了我 Sterling Hughes。你可以看到185.8.173.192:8001
  • 该页面告诉我它未正确安装或未启用。 /etc/php/7.1/apache2/php.ini 中有什么内容?
  • 我也看到你正在运行 sury.org 包,运行 sudo apt install php7.1-curl; sudo service apache restart;,这有什么改变吗?
  • @hanshenrik 是的,这是正确的。我安装了 php7.2-curl 而不是 7.1。那是我的错误。它现在工作正常

标签: php laravel curl


【解决方案1】:

这是一个命名空间问题,您正尝试从 App\Http\Controllers 命名空间调用 curl_init。要从全局命名空间调用它,请执行 $ch= \curl_init(); ,注意那里的 \。如需命名空间文档,请查看http://php.net/manual/en/language.namespaces.php

【讨论】:

  • 这次我调用未定义函数 curl_init() 而不是 App\Http\Controllers\curl_init()
  • @AliSeyfi 单独的问题,您没有在 PHP 中安装 curl 扩展。如果您是从源代码编译 PHP,请检查 php.net/manual/en/curl.setup.php(也就是使用 --with-curl 标志编译),否则请咨询您的 php 提供商
猜你喜欢
  • 2020-02-26
  • 2017-10-16
  • 1970-01-01
  • 2020-01-10
  • 2018-02-02
  • 2020-02-01
  • 1970-01-01
  • 2022-11-15
  • 2018-08-24
相关资源
最近更新 更多