为的display_errors PHP5-FPM不是nginx的工作(display_errors

2019-07-05 15:41发布

我正在使用PHP5-FPM的nginx并要启用display_errors 。 我运行一个虚拟主机,所以请在制作方法,使帮助display_errorsdisplay_startup_errors

我试图修改/etc/php5/fpm/php.ini

;display_errors
Default Value: On
Development Value: On
;Production Value: Off 
;display_startup_errors
Default Value: On
Development Value: On
;Production Value: Off
;error_reporting
Default Value: E_ALL
Development Value: E_ALL
;Production Value: E_ALL & ~E_DEPRECATED
;html_errors
Default Value: On
Development Value: On
;Production value: Off
;log_errors
Default Value: On
Development Value: On
;Production Value: On

难道需要有多个ini文件为每个不同的虚拟主机,虚拟主机不会为使PHP配置有什么区别?

我也在努力set_ini()但它没有显示任何效果。 而我做的更改后重新启动nginx的和PHP5-FPM php.ini文件。

Answer 1:

在php.ini无助于PHP-FPM。

如果你正在使用PHP-FPM:您必须提供与Web应用程序相关的FPM池配置的配置变化。 如果这些都位于取决于你的系统。 在大概的位置是:

  • /etc/php-fpm.d/mydomain.conf (如果事情已经成立整齐)
  • /etc/php-fpm.conf (如果你只使用PHP-FPM一个CONF)

你的配置路径是从我的不同,所以闲逛,看看你有什么在那里。 在不更改/etc/php-fpm.conf如果存在合适的conf /etc/php-fpm.d/

如果你不使用PHP-FPM:更新与正确的配置php.ini中。

更正配置:在这个问题中所示的配置,你有没有注释的文档,而不是提供了正确的设置。 你最好撤消这些更改,因为PHP会不理解他们。

正确的线的php-fpm的是:

    ; enable display of errors
    php_flag[display_errors] = on
    php_flag[display_startup_errors] = on

正确的线路正常PHP是:

    ; enable display of errors
    display_errors = On
    display_startup_errors = On

忠告:不要在生产环境中使用这些选项。 最好的祝愿。



Answer 2:

如果你有/etc/php5/fpm/php.ini (在Debian中使用,Ubuntu的风格配置),然后改到这个文件应该生效,并且该配置可每个池通过更改进一步覆盖特定/etc/php5/fpm/pool.d/*.conf文件。



Answer 3:

在我的情况Zend的错误和nginx的 - PHP5 FPM,这样的工作:

只有我把在public/index.php

error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);

没有If(){...}

但如果只把上面的代码,显示错误,会给这样的:

Parse error: syntax error, unexpected '}', expecting ',' or ';' in /usr/local/nginx/html/ZendSkeletonApplication/module/Album/src/Album/Controller/AlbumController.php on line 12

另一件事! 设置这样的代码:

'display_not_found_reason' => true,
'display_exceptions'       => true,

在这样的module.config.php:

'view_manager' => array(
     'template_path_stack' => array(
         'album' => __DIR__ . '/../view',
         'display_not_found_reason' => true,
         'display_exceptions'       => true,
     ),
 ),

我在屏幕上得到的error.log中的所有错误:

Fatal error: Uncaught exception 'Zend\View\Exception\InvalidArgumentException' with message 'Invalid path provided; must be a string, received boolean' in /usr/local/nginx/html/ZendSkeletonApplication/vendor/zendframework/zendframework/library/Zend/View/Resolver/TemplatePathStack.php:201 Stack trace: #0 /usr/local/nginx/html/ZendSkeletonApplication/vendor/zendframework/zendframework/library/Zend/View/Resolver/TemplatePathStack.php(149): Zend\View\Resolver\TemplatePathStack->addPath(true) #1 /usr/local/nginx/html/ZendSkeletonApplication/vendor/zendframework/zendframework/library/Zend/Mvc/Service/ViewTemplatePathStackFactory.php(38): Zend\View\Resolver\TemplatePathStack->addPaths(Array) #2 [internal function]: Zend\Mvc\Service\ViewTemplatePathStackFactory->createService(Object(Zend\ServiceManager\ServiceManager), 'viewtemplatepat...', 'ViewTemplatePat...') #3 /usr/local/nginx/html/ZendSkeletonApplication/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php(939): call_user_func(Array, Object(Zend in /usr/local/nginx/html/ZendSkeletonApplication/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php on line 946

我没有碰配置文件在系统PHP-FPM(Ubuntu的14.04)。



文章来源: display_errors for php5-fpm not working with nginx
标签: nginx php