加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在Openshift上运行(或者我应该运行)Composer?

发布时间:2020-12-13 17:49:01 所属栏目:PHP教程 来源:网络整理
导读:我试图在Openshift上创建ZendFramework的Skeleton应用程序.我使用这些 instructions创建了一个PHP5应用程序并在本地克隆它.我在存储库中克隆了ZendFramework框架应用程序,然后运行Composer以在本地安装依赖项. 然后我将我的存储库推送到Openshift,但是我收到
我试图在Openshift上创建ZendFramework的Skeleton应用程序.我使用这些 instructions创建了一个PHP5应用程序并在本地克隆它.我在存储库中克隆了ZendFramework框架应用程序,然后运行Composer以在本地安装依赖项.

然后我将我的存储库推送到Openshift,但是我收到以下错误消息:

Fatal error: Uncaught exception 'RuntimeException' with message
'Unable to load ZF2. Run `php composer.phar install`
or define a ZF2_PATH environment variable.' in
/var/lib/openshift/559d4d8f500446844700002b/app-
root/runtime/repo/init_autoloader.php:51 Stack trace: #0
/var/lib/openshift/559d4d8f500446844700002b/app-
root/runtime/repo/public/index.php(18): require() #1 {main} thrown in
/var/lib/openshift/559d4d8f500446844700002b/app-
root/runtime/repo/init_autoloader.php on line 51

这表明我需要在Openshift上运行Composer.我该如何实现这一目标?

在我的本地存储库中,/ vendor目录中填充了依赖项目录.但是,在提交中忽略/ vendor.我可以尝试提交并推送它,但这是正确的方法吗?它看起来不干净.

解决方法

基本上,您需要在OpenShift上自动执行每个构建的composer安装.

您可以通过在文件夹.openshift / markers中添加名为use_composer的标记文件来完成此操作.

.openshift /标记/ use_composer

参考:https://developers.openshift.com/en/php-markers.html

如果你需要做的不仅仅是作曲家安装,比如安装Composer,使用action_hooks是更好的选择.它们允许使用bash脚本.

见,https://developers.openshift.com/en/managing-action-hooks.html

.openshift / action_hooks /编译:

#!/bin/bash

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 )

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读