【问题标题】:Laravel - 5.8 background job uses global php.ini fileLaravel - 5.8 后台作业使用全局 php.ini 文件
【发布时间】:2019-07-04 20:00:00
【问题描述】:

我正在尝试使用 Laravel 背景。我已按照官方文档创建它,作业文件:

    public function handle(){

    $fileGet = file_get_contents ('https://dummyimage.com/600x400/000/fff');
    return;
}

public function failed($exception)
{
    shell_exec(" php -i | grep 'Configuration File'");
    $fp = file_put_contents (base_path() . '/errors.txt', get_cfg_var('cfg_file_path'));
}

我正在使用简单的file_get_contents。这项工作是通过HTTP请求执行的,当我访问特定的URL时,控制器动作:

CustomJob::dispatch();

,但我收到此错误:

ErrorException: file_get_contents(): https:// wrapper 在服务器配置中被 /.../CustomJob.php:45 中的 allow_url_fopen=0 禁用

在主机(共享)的任何地方都启用了此选项,我可以在没有后台作业的情况下使用它。问题是当我在后台工作中使用它时。 errors.file 表示 php.ini 文件 - /opt/cpanel/ea-php72/root/etc/php.ini

现在,我将 php 7.3 与本地(用于主目录)php.ini 文件一起使用。

我什至无法调试该错误,但后台作业如何使用另一个 php.ini 文件,有没有办法设置正确的 php.ini 文件?

【问题讨论】:

    标签: php laravel laravel-5 cpanel shared-hosting


    【解决方案1】:

    后台作业可能是使用单独的 PHP CLI 安装触发的。这些配置有单独的 php.ini 文件。你应该尝试编辑那个。

    【讨论】:

    • 怎么,我看不懂?
    • 这取决于您的共享主机为您提供什么。你可以通过ssh访问服务器吗?你可以这样调整 php.ini 配置吗?否则你可以在主机控制面板中更改 php.ini 配置吗?
    • 是的,我有访问权限。在 cPanel 中,此选项已启用。
    • 您是否可以访问 cPanel 中的单个 php.ini 配置或两个 php.ini 配置。您很可能只能访问一个;用于服务网络请求的那个。命令行使用的php.ini配置就是你想要的那个,你也可以访问那个吗?
    • 我可以在 cPanel 中访问我家目录中的本地 php.ini
    猜你喜欢
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2017-08-04
    • 1970-01-01
    • 2021-11-20
    • 2018-03-24
    相关资源
    最近更新 更多