developer tip

가상 호스트 당 error_log?

optionbox 2020. 7. 28. 08:26
반응형

가상 호스트 당 error_log?


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

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

error_logs각 가상 호스트마다 별도의 PHP를 가질 수있는 방법이 있습니까?


아파치 ( 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.

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 오류 로그로 출력되는 것입니다. 이 문제가 발생하지 않으면 error_log 지시문에 대한 php.ini 설정을 확인하십시오-현재 가상 호스트에 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위치 를 추가 할 수 있습니다.


php_value error_log "/var/log/httpd/vhost_php_error_log"

그것은 나를 위해 작동하지만 로그 파일의 권한을 변경해야합니다.

아파치는 로그를 로그에 씁니다 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. Don't Forget to restart Your apache. for more check this link

참고URL : https://stackoverflow.com/questions/176/error-log-per-virtual-host

반응형