error_log за виртуальный хост?

голоса
97

На одном Linux Server под управлением Apache и PHP 5, у нас есть несколько виртуальных хостов с отдельными файлами журналов. Мы не можем показаться , чтобы отделить PHP error_logмежду виртуальными хостами.

Переопределение этого параметра в <Location>из , httpd.confкажется, не делать ничего.

Есть ли способ , чтобы иметь отдельный PHP error_logsдля каждого виртуального хоста?

Задан 01/08/2008 в 19:37
источник пользователем
На других языках...                            


11 ответов

голоса
72

Для того, чтобы установить Apache ( не PHP ) лаг, самый простой способ сделать это будет делать:

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

Если нет ведущего «/» предполагается, что относительное.

Apache Error Log Page

Ответил 01/08/2008 в 20:58
источник пользователем

голоса
8

Поведение по умолчанию для error_log () для вывода в журнал ошибок Apache. Если этого не происходит, проверьте ваши настройки php.ini для error_log директивы - оставьте его незадан использовать файл журнал Apache для текущего виртуального хоста.

Ответил 01/08/2008 в 23:20
источник пользователем

голоса
12

Я обычно просто указать это в .htaccessфайле илиvhost.conf на домене я работаю. Добавьте это к одному из этих файлов:

php_admin_value error_log "/var/www/vhosts/example.com/error_log"
Ответил 02/08/2008 в 02:10
источник пользователем

голоса
4

Мой 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>
Ответил 09/08/2008 в 03:51
источник пользователем

голоса
5

Вы пробовали добавив php_value error_log '/path/to/php_error_logк вашей конфигурации VirtualHost?

Ответил 29/08/2008 в 07:13
источник пользователем

голоса
3

Вы можете попробовать:

    <VirtualHost myvhost:80>
       php_value error_log "/var/log/httpd/vhost_php_error_log"
    </Virtual Host>

Но я не уверен, если это будет работать. Я пытался на моих сайтах без успеха.

Ответил 23/09/2008 в 00:22
источник пользователем

голоса
5

Да, вы можете попробовать,

php_value error_log "/var/log/php_log" 

в .htaccessили вы можете использовать пользователи ini_set()в начале своих сценариев , если они хотят иметь регистрацию.

Другим вариантом было бы включить сценарии по умолчанию в php.iniв папке со скриптом, а затем перейти в корневую папку пользователя / хоста, то в корне сервера, или что - то подобное. Это позволит хозяевам добавить свои собственные php.iniценности и свои собственные error_logместа.

Ответил 23/09/2008 в 00:29
источник пользователем

голоса
5
php_value error_log "/var/log/httpd/vhost_php_error_log"

Это работает для меня, но я должен изменить разрешение файла журнала.

или Apache будет писать лог на ИТС error_log.

Ответил 03/07/2009 в 00:54
источник пользователем

голоса
6

Не установлено error_log, где ваш syslogматериал идет, то eg /var/log/apache2, что они будут получать ошибки перехвачены ErrorLog. Вместо этого создайте subdirв вашей папке проекта для журналов и делать php_value error_log "/path/to/project/logs". Это касается обоих .htaccess файлов и виртуальных доменов . Также убедитесь , что вы положили php_flag log_errorsна

Ответил 02/04/2010 в 21:50
источник пользователем

голоса
133

Если кто-то приходит, глядя он должен выглядеть следующим образом:

<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

Ответил 26/08/2010 в 16:29
источник пользователем

голоса
0

Создание простого VirtualHost:

Пример имени хоста: - thecontrolist.localhost

  1. C: \ Windows \ System32 \ Drivers \ Etc

    127.0.0.1 thecontrolist.localhost в файле хостов

  2. C: \ XAMPP \ Apache \ конф \ экстра \ 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. Не забудьте перезагрузить ваш апач. для более проверить эту ссылку

Ответил 31/05/2018 в 06:58
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more