PHP5-FPM拒绝使用Heroku buildpack记录在Foreman nginx下运行的错误

时间:2014-10-20 09:15:02

标签: heroku nginx vagrant php foreman

我已经尝试了好几天了,而且我无法让PHP在本地记录错误或在Heroku上运行。我的确切设置:

VAGRANT BOX: Homestead / laravel(包含PHP / Nginx安装) 在流浪盒运行后,我停止正在运行的服务(sudo service nginx stopsudo service php5-fpm stop)。 Heroku工具带安装在这个盒子上。我正在使用PHP版本5.6.0-1 + deb.sury.org~trusty + 1,但尝试过以前的版本(不同版本的Homestead / Laravel盒子)。

COMPOSER INSTALL:我有以下composer.json文件,虽然我尝试了各种选项,包括不使用我自己的buildpack,只是默认的等等。

{
"extra": {
    "heroku": {
        "document-root": "webroot",
        "index-document": "index.php"
    }
},
"repositories": [
    {
        "type": "git",
        "url": "https://github.com/ashleycoker/heroku-buildpack-php"
    }
],
"require-dev": {
    "heroku/heroku-buildpack-php": "dev-master"
}

}

FOREMAN:我使用此处显示的sudo foreman start -f Procfile.dev运行我自己的proc文件:

web: vendor/bin/heroku-php-nginx -v webroot/

除了PHP的错误记录之外,一切都按预期工作。我实际上正在运行一个expressionengine安装,可以正常访问PHPinfo并看到错误日志设置为/tmp/heroku.php-fpm.www.5000.log。 log_errors已启用,并且您期望的所有内容在ini文件中看起来都很好。

我认为我已经阅读/尝试了Google上的所有解决方案,但是无济于事。我已经尝试更改error_log文件的所有权,更改其位置,更改PHP错误日志设置,包括使用E_ALL以便记录所有内容。我甚至在屏幕上看到PHP通知,所以我知道应该进入日志文件。

来自heroku-php-nginx的重要一行似乎很重要,它将所有日志重定向到stderr,以便Heroku可以接收它们 - 正是我想要发生的事情。

( touch "${logs[@]}"; tail -qF -n 0 "${logs[@]}" | strip_fpm_child_said 1>&2 || true; echo 'tail "${logs[@]}"' >&3; ) 3> $wait_pipe &

但是我无法在任何地方看到日志!

我只想记录错误,以便我可以安心地投入生产!

需要更多信息,我会很乐意尽快回答尽可能多的信息。

由于

0 个答案:

没有答案