[linux] 가상 호스트 당 error_log?

Apache 및 PHP 5를 실행하는 하나의 Linux 서버에는 별도의 로그 파일이있는 여러 가상 호스트가 있습니다. error_log가상 호스트간에 PHP를 분리 할 수 ​​없습니다 .

에서이 설정 재정 <Location>의 것은 httpd.conf아무것도하지 않는 것.

error_logs각 가상 호스트에 대해 별도의 PHP 를 사용 하는 방법이 있습니까?



답변

Apache ( PHP 아님) 로그 를 설정하려면 가장 쉬운 방법은 다음과 같습니다.

<VirtualHost IP:Port>
   # Stuff,
   # More Stuff,
   ErrorLog /path/where/you/want/the/error.log
</VirtualHost>

선행 “/”가 없으면 상대적인 것으로 간주됩니다.

Apache 오류 로그 페이지


답변

누군가가 찾아 오면 다음과 같이 보일 것입니다.

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/domains/example.com/html
    ErrorLog /var/www/domains/example.com/apache.error.log
    CustomLog /var/www/domains/example.com/apache.access.log common
    php_flag log_errors on
    php_flag display_errors on
    php_value error_reporting 2147483647
    php_value error_log /var/www/domains/example.com/php.error.log
</VirtualHost>

display_error켜져 있으므로 개발 전용 입니다. Apache 오류 로그는 PHP 오류 로그와 별개임을 알 수 있습니다. 좋은 물건은 php.error.log.

여기에서 http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reportingerror_reporting 키를 살펴보십시오 .


답변

난 보통 그냥이를 지정 .htaccess파일 또는vhost.conf 내가 일하고 있어요 도메인에. 다음 파일 중 하나에 이것을 추가하십시오.

php_admin_value error_log "/var/www/vhosts/example.com/error_log"


답변

error_log ()의 기본 동작은 Apache 오류 로그에 출력하는 것입니다. 이것이 발생하지 않으면 php.ini 설정에서 error_log 지시문을 확인하십시오. 현재 가상 호스트에 Apache 로그 파일을 사용하려면 설정하지 않은 상태로 둡니다.


답변

오류는에 의해 가로 채기 때문에 항목 이 error_log어디로 가는지 설정하지 마십시오 . 대신, 만들 당신의 프로젝트 폴더를 로그를하고 할 . 이것은 파일과 가상 호스트 모두에 적용 됩니다. 또한 반드시 넣어 만든다 에syslogeg /var/log/apache2ErrorLogsubdirphp_value error_log "/path/to/project/logs".htaccess php_flag log_errors


답변

php_value error_log '/path/to/php_error_logVirtualHost 구성에를 추가해 보셨습니까 ?


답변

예, 시도 할 수 있습니다.

php_value error_log "/var/log/php_log"

에서 .htaccess또는 사용자가 사용할 수 있습니다ini_set() 그들이 로깅을 갖고 싶어 자신의 스크립트의 시작 부분에.

또 다른 옵션은 스크립트가 php.ini있는 폴더의 기본값으로 스크립트를 활성화 한 다음 사용자 / 호스트의 루트 폴더로 이동 한 다음 서버의 루트 또는 이와 유사한 것으로 이동하는 것입니다. 이렇게하면 호스트가 자신의 php.ini값과 error_log위치 를 추가 할 수 있습니다.