我已经在openshift上部署了Symfony 2.1应用程序,但它不起作用。
调用app.php服务器返回200 OK和一个白色页面(在我的本地服务器中工作得很好)。
日志:
/var/lib/openshift/5e487f6c4a484700999d9213755b64eb/app-root/runtime/repo/php/app/bootstrap.php.cache:4 php-5.3/ => /error_log-20130306-000000-EST <== Tue 05 19:16:00 2013年客户端127.5.146.1 PHP3. require_once() require_once Tue Mar 05 19:16:00 2013年客户端127.5.146.1 PHP4.=>()PHP /app/autooload.php:5 Tue Mar05 19:16:00 2013 client 127.5.146.1 PHP5. ComposerAutoloaderInit12cecca862685bdd480babbdd1b1ec7a::getLoader() /var/lib/openshift/5e487f6c4a484700999d9213755b64eb/app-root/runtime/repo/php/vendor/autoload.php:7 Tue 05 19:16:00 2013 client 127.5.146.1 PHP致命错误:#en0#():未能打开所需的'/var/lib/openshift/5e487f6c4a484700999d9213755b64eb/app-root/runtime/repo/php/vendor/kriswallsmith/assetic/src/functions.php s.php‘(include_path='.:/var/lib/openshift/5e487f6c4a484700999d9213755b64eb/app-root/runtime/repo//libs/:/var/lib/openshift/5e487f6c4a484700999d9213755b64eb/php-5.3/phplib/pear/pear/php/:/usr/share/pear/'),位于/var/lib/openshift/5e487f6c4a484700999d9213755b64eb/app-root/runtime/repo/php/vendor/composer/autoload_real.php第42行,Tue 05 19:16:00 2013Client 127.5PHP堆栈跟踪: Tue Mar 05 19:16:00 2013 client 127.5.146.1 PHP 1. {main}() /var/lib/openshift/5e487f6c4a484700999d9213755b64eb/app-root/runtime/repo/php/web/app.php:0 Tue Mar05 19:16:00 2013 client 127.5.146.1 PHP2.require_once() /var/lib/openshift/5e487f6c4a484700999d9213755b64eb/app-root/runtime/repo/php/web/app.php:7 Tue 05 19:16:00 2013 client 127.5.146.1 PHP 3. /var/lib/openshift/5e487f6c4a484700999d9213755b64eb/app-root/runtime/repo/php/app/bootstrap.php.cache:4 Tue require_once 05 19:16:00 2013年客户端127.5.146.1 PHP 4.要求() /var/lib/openshift/5e487f6c4a484700999d9213755b64eb/app-root/runtime/repo/php/app/autoload.php:5 Tue 05 19:16:00 2013 client 127.5.146.1 PHP 5. ComposerAutoloaderInit12cecca862685bdd480babbdd1b1ec7a::getLoader() /var/lib/openshift/5e487f6c4a484700999d9213755b64eb/app-root/runtime/repo/php/vendor/autoload.php:7
有什么想法或建议吗?
发布于 2013-03-08 17:27:24
好像你在你的装备库里丢失了一些文件。你把所有文件都加了-提交-推了吗?
您可以通过运行以下命令获取已部署的*.php文件的列表:
ssh <INTO-YOUR-GEAR> 'cd ~/app-root/runtime/repo/php && find ./ -name \*.php'(显然,您需要用SSH字符串替换<INTO-YOUR-GEAR> )
发布于 2014-12-08 01:59:54
您没有“热身”您的缓存,因为bootstrap.php.cache文件不存在,它似乎您只是推动您的回购,但在openshift方面什么也不做。
您需要首先配置您的交响乐应用程序,即下载所有依赖项,填写所有数据库设置、邮件设置和所有其他内容。
使用这个命令rhc ssh -a <yourappname>进入您的设备,在您的symfony根目录中运行cd,并运行php composer.phar install --这将启动部署您的应用程序所需的一切。
发布于 2014-12-08 10:20:45
将Symfony应用程序部署到Openshift的最佳方法是:
release:rhc app-configure --deployment-branch release -a <app-name>的分支<?php
# app/config/params.php
if (getEnv("OPENSHIFT_APP_NAME")!='') {
$container->setParameter('database_host', getEnv("OPENSHIFT_MYSQL_DB_HOST"));
$container->setParameter('database_port', getEnv("OPENSHIFT_MYSQL_DB_PORT"));
$container->setParameter('database_name', getEnv("OPENSHIFT_APP_NAME"));
$container->setParameter('database_user', getEnv("OPENSHIFT_MYSQL_DB_USERNAME"));
$container->setParameter('database_password', getEnv("OPENSHIFT_MYSQL_DB_PASSWORD"));
}?>这将告诉应用程序,如果是openshift环境,它需要加载不同的用户数据库。
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: params.php }
...git checkout -b releasegit remote add openshift -f <youropenshiftrepository.git>添加远程存储库git merge openshift/master -s recursive -X ours )#!/bin/bash
# Symfony deploy
export COMPOSER_HOME="$OPENSHIFT_DATA_DIR/.composer"
if [ ! -f "$OPENSHIFT_DATA_DIR/composer.phar" ]; then
curl -s https://getcomposer.org/installer | php -- --install-dir=$OPENSHIFT_DATA_DIR
else
php $OPENSHIFT_DATA_DIR/composer.phar self-update
fi
unset GIT_DIR
cd $OPENSHIFT_REPO_DIR/
php $OPENSHIFT_DATA_DIR/composer.phar install
php $OPENSHIFT_REPO_DIR/app/console cache:clear --env=dev
chmod -R 0777 $OPENSHIFT_REPO_DIR/app/cache
chmod -R 0777 $OPENSHIFT_REPO_DIR/app/logs
rm -r $OPENSHIFT_REPO_DIR/php
ln -s $OPENSHIFT_REPO_DIR/web $OPENSHIFT_REPO_DIR/php
rm -r $OPENSHIFT_REPO_DIR/php
ln -s $OPENSHIFT_REPO_DIR/web $OPENSHIFT_REPO_DIR/php
php $OPENSHIFT_REPO_DIR/app/console doctrine:schema:update --forcegit update-index --chmod=+x .openshift/action_hooks/deploy和Mac:chmod +x .openshift/action_hooks/deploygit push openshift HEADgit checkout masterrelease分支来部署您的新更改:git checkout release git merge master git push openshift HEAD git checkout master。这就是我和Symfony和Openshift的工作方式。(这些说明是我阅读的许多方式的混合,我改进了一些修改。我制作的每一个应用程序都运行得很好。
https://stackoverflow.com/questions/15236581
复制相似问题