문제
Apache와 PHP 5를 실행하는 하나의 Linux 서버에는 별도의 로그 파일이 있는 여러 가상 호스트가 있습니다.PHP를 분리할 수 없는 것 같습니다. error_log
가상 호스트 사이.
다음에서 이 설정을 재정의합니다. <Location>
~의 httpd.conf
아무것도 하지 않는 것 같습니다.
PHP를 따로 사용하는 방법이 있나요? error_logs
각 가상 호스트에 대해?
해결책
설정하려면 아파치 (PHP가 아닌) 로그를 작성하는 가장 쉬운 방법은 다음과 같습니다.
<VirtualHost IP:Port>
# Stuff,
# More Stuff,
ErrorLog /path/where/you/want/the/error.log
</VirtualHost>
앞에 "/"가 없으면 상대적인 것으로 간주됩니다.
다른 팁
누군가가 찾아오면 다음과 같이 보일 것입니다.
<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
.
여기를 살펴보세요. error_reporting
열쇠 http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
나는 보통 이것을 .htaccess
파일 또는 그만큼 vhost.conf
내가 작업하고 있는 도메인에서다음 파일 중 하나에 이를 추가하세요.
php_admin_value error_log "/var/www/vhosts/example.com/error_log"
기본 동작은 error_log()가 Apache 오류 로그에 출력되는 것입니다.이런 일이 발생하지 않으면 error_log 지시문에 대한 php.ini 설정을 확인하십시오. 현재 가상 호스트에 대해 Apache 로그 파일을 사용하려면 설정하지 않은 상태로 두십시오.
설정하지 않음 error_log
당신의 곳으로 syslog
물건이 간다, eg /var/log/apache2
, 오류는 다음에 의해 차단되기 때문입니다. ErrorLog
.대신 subdir
당신의 프로젝트 폴더 로그를 위해 php_value
error_log "/path/to/project/logs"
.이건 둘 다 마찬가지야 .htaccess
파일과 가상호스트.또한 꼭 넣어주세요 php_flag
log_errors
~에
추가해 보셨나요? php_value error_log '/path/to/php_error_log
VirtualHost 구성에?
예, 시도해 볼 수 있습니다.
php_value error_log "/var/log/php_log"
~에 .htaccess
또는 사용자가 다음을 사용하도록 할 수 있습니다. ini_set()
로깅을 원하는 경우 스크립트 시작 부분에.
또 다른 옵션은 스크립트를 기본값으로 설정하는 것입니다. php.ini
스크립트가 있는 폴더에서 사용자/호스트의 루트 폴더로 이동한 다음 서버의 루트 또는 유사한 폴더로 이동합니다.이렇게 하면 호스트가 직접 추가할 수 있습니다. php.ini
가치관과 자신의 error_log
위치.
php_value error_log "/var/log/httpd/vhost_php_error_log"
저에게는 효과가 있지만 로그 파일의 권한을 변경해야 합니다.
그렇지 않으면 Apache가 해당 로그에 로그를 기록합니다. error_log
.
내 Apache에는 httpd.conf에 이와 같은 내용이 있습니다.ErrorLog 및 CustomLog 설정을 변경하면 됩니다.
<VirtualHost myvhost:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /opt/web
ServerName myvhost
ErrorLog logs/myvhost-error_log
CustomLog logs/myvhost-access_log common
</VirtualHost>
다음을 시도해 볼 수 있습니다.
<VirtualHost myvhost:80>
php_value error_log "/var/log/httpd/vhost_php_error_log"
</Virtual Host>
하지만 일이 될지는 잘 모르겠습니다.내 사이트에서 시도했지만 성공하지 못했습니다.
간단한 VirtualHost 생성:
호스트 이름 예:- thecontrolist.localhost
C:\Windows\System32\drivers\etc
127.0.0.1 thecontrolist.localhost
호스트 파일에C:\xampp\apache\conf\extra\httpd-vhosts.conf
<VirtualHost *> ServerName thecontrolist.localhost ServerAlias thecontrolist.localhost DocumentRoot "/xampp/htdocs/thecontrolist" <Directory "/xampp/htdocs/thecontrolist"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> </VirtualHost>
아파치를 다시 시작하는 것을 잊지 마십시오.이상 확인하다 이 링크