我正在尝试使用 Slim在 OpenShift有一个自由节点。我可以毫无问题地从 SSH session 运行 composer update
。
唯一的问题是每次我想通过 git 提交文件时,我都必须转到控制台并再次运行 composer install
。我的问题是有什么简单的方法可以解决这个问题吗?我在 /project/.openshift/action_hooks/post_deploy 中尝试了一个 BASH 脚本,但服务器没有在 runtime/repo 下创建 vendor 文件夹
最佳答案
我总是通过 action hooks 做到这一点:
在我的项目目录中,我有一个由 /project/.openshift/action_hooks/post_deploy
调用的脚本,其中 post_deploy 是一个 bash 脚本。
这是我一直在使用的:
#!/bin/bash
export MY_PHPCOMPOSER=$OPENSHIFT_DATA_DIR/composer.phar
# if composer not exists, download
if [ ! -f $MY_PHPCOMPOSER ]; then
cd $OPENSHIFT_DATA_DIR
echo "Downloading composer..."
php -r "readfile('https://getcomposer.org/installer');" | php
fi
$MY_PHPCOMPOSER -n -q self-update
cd $OPENSHIFT_REPO_DIR
# install
php -dmemory_limit=1G $MY_PHPCOMPOSER install
所以 post_deploy 脚本将在您每次将您的 repo 推送到 openshit 时执行。它就像一个魅力!
旁注
Since not always the OpenShift composer's version is updated it's safe to download a new composer copy and use it. Also, don't forget adjusting permissions settings.
有用的链接
关于php - 如何在 OpenShift 上作曲更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31026031/