php - 如何解决对未定义 curl_init() 的调用?
问题描述
当我curl
从 Laravel 使用时出现致命错误,但curl
另一个文件中存在的一个正在工作。
为什么会出现这些错误?
致命错误:调用未定义的函数 App\Http\Controllers\curl_init()
App\Http\Controller\FcmController
:
class FcmController extends Controller
{
public function index()
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
dd($result);
curl_close($ch);
App\Http\Controller\CurlContoller
(有用):
class CurlController extends Controller
{
public static function getCurl($url, $params)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);;
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type:application/json; charset=utf-8"));
$response = curl_exec($ch);
curl_close($ch);
return json_encode($response);
}
解决方案
如果将函数前缀到顶级名称空间,它是否有效\curl_init
。对于内部的静态调用函数CurlController
,将不需要它。
此外,没有具体回答您的问题,但如果您运行的是 Laravel 7 及更高版本,您实际上可以使用 Laravel 的内置http-client实现。它比 curl 更具表现力。
推荐阅读
- c# - 如何在 Unity 中保留对粒子系统模块结构的引用
- c# - 在 asp.net 中是否可以有两个不同的变量与一个路由?
- c++ - 单独的类声明和方法定义文件问题
- ios -
我有一个文件输入:
<input #fileInput class="task-uploader__input" type="file" multiple />
我可以调出文件选择器(相机或画廊),当我选择一张照片时,应用程序会重
- typescript - 将 Firestore 值更改转换为 Typescript 对象
- angular - 为什么子模块的根路径加载在父模块的根路径上?
- batch-file - 我继续收到有关已存在文件夹的语法错误和警告
- kubernetes - 从 AppEngine 触发基于 Kubernetes 的应用程序
- amazon-web-services - 从 S3 复制数据并后处理
- phpstorm - 感谢配置文件,有没有办法在 PhpStorm 模板中设置 var?