我的开发环境是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配置默认值;试试吧