Heroku PHP nginx堆栈-使用composer和foreman为本地实例



我的开发环境是Linux,我正在尝试找出这里解释的新的heroku PHP工具

我在我的系统上安装了nginx 1.6和php 5.5.11,在php5-fpm上配置了nginx,可以正常工作。我可以提供一个页面与phpinfo()在它。

env detls:

PHP 5.5.11-3+deb.sury.org~precise+1 (fpm-fcgi) (build: Apr 23 201412:31:47)

我的问题是在php项目目录中运行composer install,然后foreman,这样我就可以拥有本地环境,这将可靠地成为最终将在heroku上运行的映像。

composer install --no-dev --prefer-dist --optimize-autoloader --no-interaction 
上面的

运行正常,并将所有的符号链接放在项目的"vendor/bin"目录下。

我没有改变上面创建的任何配置文件。

领班检查正常

当我运行foreman start时,我得到以下问题:

14:30:39 web.1  | Using PHP-FPM configuration file 'vendor/heroku/heroku-buildpack-php/conf/php/php-fpm.conf'
14:30:39 web.1  | Using PHP configuration (php.ini) file 'vendor/heroku/heroku-buildpack-php/conf/php/php.ini'
14:30:39 web.1  | Using Nginx server-level configuration include 'vendor/heroku/heroku-buildpack-php/conf/nginx/default_include.conf'
14:30:39 web.1  | Using Nginx configuration file 'vendor/heroku/heroku-buildpack-php/conf/nginx/heroku.conf.php'
14:30:39 web.1  | Interpreting vendor/heroku/heroku-buildpack-php/conf/nginx/heroku.conf.php to heroku.conf
14:30:39 web.1  | Starting log redirection...
14:30:39 web.1  | Starting php-fpm...
14:30:39 web.1  | Starting nginx...
14:30:39 web.1  | vendor/bin/heroku-php-nginx: line 183: php-fpm: command not found
14:30:41 web.1  | nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
14:30:41 web.1  | 2014/05/05 14:30:41 [warn] 25269#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
14:30:41 web.1  | 2014/05/05 14:30:41 [emerg] 25269#0: open() "/var/log/nginx/access.log" failed (13: Permission denied)

权限错误我可以处理,但是,php-fpm的NOT-FOUND超出了我…我可以将php-fpm的调用更改为"php5-fpm",并以ROOT身份运行start foreman,所有错误都消失了。但是,它不会提供php页面。

我需要符号链接什么吗?

php-fmp包在ubuntu中不存在。其"php5-fpm"。

我现在做什么?

作曲家。json,Procfile

"require": {
"heroku/heroku-buildpack-php": "v12"
}

web:供应商/bin/heroku-php-nginx

alias php-fpm=php5-fpm应该解决这个问题。

顺便说一下,heroku/heroku-buildpack-php不允许作为require的依赖项(Heroku将在push时拒绝它);把它放在require-dev中。对于本地开发,您通常应该不运行--no-dev

由于v12不会跟踪构建包的更新,dev_master目前可能也是一个更好的版本约束,只是为了确保您收到包的最新版本(并且镜像您在Heroku上获得的版本)。

今天的更新(标记为v13;我猜你已经看到了问题:))还包括一堆更新Nginx配置默认值;试试吧

相关内容

  • 没有找到相关文章

最新更新