Como obtenho erros cURL para ir para o arquivo de log correto?

2

Eu tenho um site em execução usando o Apache 2.2.22, PHP 5.3.10 e cURL 7.2.00. As partes relevantes da configuração do apache estão abaixo, e você notará que os erros são enviados para www.example.com_error.log .

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com

    # *snip*

    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

No entanto, quando eu uso o cURL de dentro do PHP e torno o log detalhado usando curl_setopt($connection, CURLOPT_VERBOSE, true); , a saída do cURL vai para o error.log do Apache em vez do arquivo de log customizado que eu defini acima. Por que isso e como posso obter a saída do cURL para ir para o arquivo de log correto?

    
por DanielGibbs 23.05.2014 / 11:59

2 respostas

2

Por algumas respostas a essa pergunta SO , o php registra no servidor Apache padrão log (error.log) como você já notou. Você pode definir as configurações do log do php da seguinte forma:

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com

    # *snip*

    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined

    php_flag log_errors on
    php_flag display_errors on
    php_value error_reporting 2147483647
    php_value error_log ${APACHE_LOG_DIR}/php.error.log
</VirtualHost>

Como alternativa, uma resposta nessa pergunta de SO mencionou a desativação completa da diretiva error_log no php.ini para fazer login nos registros do host virtual relevante, por exemplo, %código%.

    
por 23.05.2014 / 13:49
0

De acordo com a documentação curl , você pode definir o local do arquivo de log com CURLOPT_STDERR.

Veja o exemplo completo nesta resposta

    
por 20.12.2016 / 09:58