如果我有这样的目录结构:的Heroku设置的document_root
/
/libraries/
/other-nonpublic-stuff/
/webroot/
我如何可以设置/webroot/
为DOCUMENT_ROOT使得只有它的内容是我herokuapp的URL下服务?
我认为Procfile
可能是实现这一目标的方法,但它没有真正的记录。 已经尝试过的事情一样
web: php webroot/
或
web: sh boot.sh webroot/
或
web: sh webroot/
在
Procfile
,但我总是只结束了Heroku push rejected, no Cedar-supported app detected
当我推了回购根目录i中的“index.php” t工作的很好,一个heroku ps
只显示了一个运行“boot.sh”的web进程,但即使这样Procfile显然被忽略,而且heroku提供“/”而不是“/ webroot”。所以,不是真的在暗示我怎么可能设置我Procfile
:
Process State Command
------- --------- ----------
web.1 up for 2h sh boot.sh
我通过heroku run bash
登录到我的“实例”的控制台,并做了cat boot.sh
。它包含了这一点:
sed -i 's/Listen 80/Listen '$PORT'/' /app/apache/conf/httpd.conf
for var in `env|cut -f1 -d=`; do
echo "PassEnv $var" >> /app/apache/conf/httpd.conf;
done
touch /app/apache/logs/error_log
touch /app/apache/logs/access_log
tail -F /app/apache/logs/error_log &
tail -F /app/apache/logs/access_log &
export LD_LIBRARY_PATH=/app/php/ext
export PHP_INI_SCAN_DIR=/app/www
echo "Launching apache"
exec /app/apache/bin/httpd -DNO_DETACH
所以与Heroku push rejected, no Cedar-supported app detected
错误的问题(没有PHP文件是“/”是通过改变PHP_INI_SCAN_DIR
为“/程序/网络/ Webroot公司”显然可以解决的,但多数民众赞成一)不可能的和b)不会解决使用“/ webroot”作为文档根的问题。为了解决这个问题,我还必须修改“/app/apache/conf/httpd.conf”。
有什么建议吗? :)
感谢, 乔希
我以为Heroku不适用于PHP。我错了吗? – 2011-12-15 15:16:51
他们在雪松堆叠上默默支持php。因为他们正在与Facebook合作。我想我可能会用Procfile来做到这一点,但这种用法并没有记录在php中。 – Josh 2011-12-15 15:20:41