2017-01-17 10 views
4

지난 몇 시간 동안 나를 미치게하는 문제가 있습니다. 내 개발 컴퓨터 (Debian 8 + php-fpm 5.6.29 + Nginx/1.6.2)에서 error_reporting 지시어의 기본값을 무시할 수 없습니다.PHP-FPM이 error_reporting을 재정의 할 수 없습니까?

PHP는 패키지 내가 사용하고 있습니다 :

$ dpkg --get-selections | grep php 
libapache2-mod-php5    install 
php-console-table    install 
php5      install 
php5-cli     install 
php5-common     install 
php5-curl     install 
php5-fpm     install 
php5-gd      install 
php5-intl     install 
php5-json     install 
php5-mcrypt     install 
php5-mysql     install 
php5-readline     install 
php5-xmlrpc     install 
php5-xsl     install 

다음 죽은 - 간단한 스크립트 고려 : 나는 CLI에서 실행하면

<?php 
$initial_value = error_reporting(); // Just read the current value 

error_reporting(E_PARSE); // Lets set it to something else. 

$update_value = error_reporting(); // Read again. 

printf(
    "Initial value: %s\nFinal value: %s", 
    $initial_value, 
    $update_value 
); 

을, 그것을 작동 :

내가 PHP5-FPM에서이 작업을 실행하면
$ php test.php 
// output: Initial value: 22527 Final value: 4 

그러나, 출력은 다음과 같습니다

Initial value: 32767 Final value: 32767 

나는 시도했다 :

  • php.ini 내부의 값을 설정 (모두의 php.ini의 체크 단지 phpinfo();에 나열된 파일).
  • 임 (2 회 검사) .user.ini fiels
  • error_reporting(E_PARSE)ini_set('error_reporting', E_PARSE);으로 모두 시도를 사용하지. 그 지시어는 ini 파일을 오버라이드해야합니다. 맞습니까?
  • 내가 다시 시작 PHP5-FPM 과정을 한 INI 파일에 대한 모든 편집 후 물론

(대신 다시 시작/다시로드의 시작 후 중지 및 시도)

이상한 일이 실제로 다른 매개 변수를 대체 할 수 이다 (예 : display_errors)은 ini 파일과 ini_set 호출에서 모두 작동합니다.

그래서 지금까지 내가 무엇을 놓치고 있습니까?

+0

저는 이것을 php7-fpm에서 실행했고 작동합니다. 어쩌면 php5-fpm 버그일까요? – apokryfos

+1

@apokryfos dunno, 나는 php5 + fpm을 수년간 사용 해왔다. 이것이 나에게 처음 일어난 일이다! p.s : 'php7로 업그레이드'와 같은 말을하지 마십시오. 내가 할 수 있다면, 그럴거야! – Strae

+0

최근 PHP 버전을 5.6.X-1에서 5.6.X로 업그레이드했다면 다시 다운 그레이드 할 가치가 있다고 말할 수 있습니다. 그렇지 않다면 아마도 더 미묘한 일이 벌어지고있을 것입니다. – apokryfos

답변

0

이 냄새는 php_admin_value입니다. 확인을 위해 fpm/php.ini 또는 fpm/pool.d/* 또는 fpm/conf.d/* :

php_admin_value[error_reporting] = E_ALL 

그것은 않은 덮어 쓸 수있는 그리고 당신이 설명한 것과 동일한 출력을 생성합니다. 또한 nginx configs에서 설정할 수 있습니다 :

fastcgi_param PHP_ADMIN_VALUE ...