【问题标题】:php-fpm not showing errors from php exec functionphp-fpm 未显示来自 php exec 函数的错误
【发布时间】:2019-01-31 11:13:45
【问题描述】:

我使用 PHP exec 函数来运行一些 python 脚本。我使用的是 apache,它在 error.log 文件中记录了所有错误。每当出现语法错误或任何事情时,它都会被记录在 apache 错误日志中。但是现在我已经安装了 nginx 和 php-fpm。

这里的问题是,每当python中出现错误时,nginx不会在error.log中记录任何内容。在 exec 中作为第二个参数传递的 $output 也是一个空数组。所以现在我无法从 python 或终端获取错误。请告诉我解决这些错误的方法....

【问题讨论】:

    标签: php nginx exec


    【解决方案1】:

    您可以在您的 nginx 站点配置文件中设置错误日志:nginx/sites/sites-available/{RELEVANT SITE FILE}

    确保你的文件中有这个:

    error_log  /var/www/logs/nginx.error.log debug_http;
    

    你也可以尝试使用php的报错:

    <?php
    
       error_reporting(E_ALL);
       ini_set('display_errors', '1');
    
       // Manual Error Log Creation
       error_log($customError, 3, "/var/www/logs/php.error.log");
    
       // YOUR CODE BELOW
    
    ?>
    

    要注意的另一件事是,如果您根本没有输出任何内容,那么它也可能显示为错误,请查看另一个 stackoverflow post

    【讨论】:

    • 您是对的,但它确实为您提供了一般的 HTTP 错误日志。我只是展示了不同的方式来显示各种错误。
    【解决方案2】:

    Nginx 不对这种日志记录负责。

    您必须在您的php-fpm.conf 中添加error logging directives

    【讨论】:

    • 链接现在指向离线页面。
    • @rhand 解决了这个问题
    猜你喜欢
    • 2018-08-28
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    相关资源
    最近更新 更多