cronologを使い php_error_logが分割できなくて困っています。

下記のようにhttpd.confを書いてしてErrorLogやCustomLogはcronologで正常にログ分割ができています

```

    -rw-r--r-- 1 root   root   370592  1月 26 23:42 access_log.2015.01.26
    -rw-r--r-- 1 root   root     4680  1月 27 10:14 access_log.2015.01.27
    -rw-r--r-- 1 root   root   233081  1月 26 19:35 error_log.2015.01.26
    -rw-r--r-- 1 root   root      148  1月 27 09:12 error_log.2015.01.27
    
```

が、httpd.confの

```

    php_value error_log "|/usr/sbin/cronolog /home/htdocs/logs/php_error_log.%Y.%m.%d"
    
```

の部分がうまく動きません。logsフォルダ内にファイル自体が作られません。

ただし、

```

    php_value error_log "/home/htdocs/logs/php_error_log"
    
```

のようなcronologを使わない分割なしのphp_error_log出力はできますのでlogsフォルダのパーミッションやphp.iniの設定は問題ないと思っています。  
/home/htdocs/logsのパーミッションはapache:apacheです。

```

    drwxr-xr-x  2 apache apache 4096  1月 27 09:12 logs
    
```

* * *

## httpd.conf

```

    <VirtualHost xxxxxxxxxxx.jp:80>
    DocumentRoot "/home/htdocs/xxxxxxxxxxxxxxxxx"
    ServerName xxxxxxxxxxxxx.jp:80
    ServerAlias www.xxxxxxxxxxxxxxxx.jp
    ErrorLog "|/usr/sbin/cronolog /home/htdocs/logs/error_log.%Y.%m.%d"
    CustomLog "|/usr/sbin/cronolog /home/htdocs/logs/access_log.%Y.%m.%d" combined
    
    <Directory "/home/htdocs/xxxxxxxxxxxxxxxxxx">
        php_value error_log "|/usr/sbin/cronolog /home/htdocs/logs/php_error_log.%Y.%m.%d"
    </Directory>
    
```
CC BY-SA 3.0
2015-01-27T01:51:12.960
5382
2015-01-27T02:33:33.157
2015-01-27T02:33:33.157
2494
7842
question
php linux centos apache
cronologでphp_error_logを分割するには
PHP のエラーログは下記のようなパイプの指定はできません。

```

    php_value error_log "|/usr/sbin/cronolog /home/htdocs/logs/php_error_log.%Y.%m.%d"
    
```

この記述は Apache の設定ファイルの中で PHP の設定を記述しているだけなので、Apache の ErrorLog や CustomLog
でパイプが使える、というのと、PHP の error_log でパイプが使えるかどうかは別です。

php のエラーログは logrotate などでローテートするか、error_log の設定を syslog するなどの別の方法が必要です。

あるいは error_log を未設定にしておけば Apache のエラーログに PHP のエラーログも出力されるようになるので、Apache の
ErrorLog ディレクティブで cronolog を利用することは可能です。
CC BY-SA 3.0
2015-01-27T02:20:29.747
5387
2015-01-27T02:20:29.747
2494
5382
answer