문제

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>

앞에 "/"가 없으면 상대적인 것으로 간주됩니다.

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.

여기를 살펴보세요. 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

  1. C:\Windows\System32\drivers\etc

    127.0.0.1 thecontrolist.localhost 호스트 파일에

  2. 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>
    
  3. 아파치를 다시 시작하는 것을 잊지 마십시오.이상 확인하다 이 링크

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top