【问题标题】:Run Cron job with local php.ini file - Laravel 5.8使用本地 php.ini 文件运行 Cron 作业 - Laravel 5.8
【发布时间】:2019-11-13 08:46:01
【问题描述】:

我用 Laravel 创建了一个 cron 作业。问题是我在其中使用file_get_contents,当我运行作业时,出现错误:

file_get_contents(): https:// wrapper 在服务器配置中被allow_url_fopen=0 禁用

我知道在命令中我需要指定本地 php.ini 文件,其中启用了allow_url_open

我正在使用共享主机,在全局 php.ini 文件中,此属性已禁用,但在我的本地已启用。当我运行作业时,它使用全局php.ini

我正在SSH: - php artisan my_command 中运行这项工作。 我也需要在代码中手动运行它,例如:

Artisan::call('my_command');

我已经创建了命令:

php artisan make:command MyCommand

然后在handle 方法中,我使用的是file_get_contents

当我使用 Laravel 5.8 运行任务时如何指定 php.ini 文件?

编辑: 在主机上,此选项已启用,我可以在我的代码中使用它。 如果我运行phpinfo(),我会看到它也已启用,因为它使用的是本地php.ini

【问题讨论】:

  • 这只能在 php.ini 中更改,如果您在共享主机上,他们可能不允许您更改 php.ini
  • 他们有一个更改它的选项,并且它已启用,如果我使用file_get_contents 访问一个操作,它可以工作phpinfo() 表示它也已启用。全局禁用!
  • 可能有 2 个单独的 `php.ini 文件。一个用于 Apache/PHP,一个用于 CLI/PHP
  • 他们说,有全局和本地php.ini,我需要在我的命令中使用本地,但我不知道,在哪里以及如何指定。
  • 我知道,他们在哪里,我不知道,在哪里添加他们。

标签: php laravel laravel-5 cron task


【解决方案1】:

解决方案是为我的php.ini 文件创建一个别名。 该文件位于:

/home/<USERNAME>/php73-fcgi.ini

全球php.ini文件位置:

/opt/cpanel/ea-php73/root/usr/bin/php

我在SSH中执行的命令:

alias php='/opt/cpanel/ea-php73/root/usr/bin/php -c /opt/cpanel/ea-php73/root/usr/bin/php -c /home/<USERNAME>/php73-fcgi.ini'

73PHP 的版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    相关资源
    最近更新 更多