问题描述
我正在将应用程序从较旧的PHP 5.6 beantalk迁移到新的PHP 7.4 beantalk。该应用程序是一个API服务器,并使用了许多软件包,例如Phalcon,Sphinx和Geos。 在迁移过程中,我正在研究.ebextension配置并更新安装和配置这些软件包的命令,这通常意味着将它们更新为使用更高版本。
我遇到的困难是,当我获得成功安装软件包的命令并想继续执行下一个命令时,在随后的部署中对其进行调试,这是我用来确定是否第一个软件包的测试需要安装失败,因为已经安装。
例如
02-build-sphinx:
cwd: /tmp
test: '[ ! -f /etc/init.d/searchd-api ] && echo "sphinx not installed"'
command: |
pecl channel-update pecl.php.net \
&& wget https://sphinxsearch.com/files/sphinx-2.3.2-1.rhel7.x86_64.rpm --no-check-certificate \
&& yum -y localinstall sphinx-2.3.2-1.rhel7.x86_64.rpm \
&& cp /tmp/services/sphinx/searchd-api /etc/init.d/ \
&& chmod 755 /etc/init.d/searchd-api \
&& echo "Sphinx Install Process complete"
因此,当我使该脚本正常工作,然后继续执行下一个脚本以安装Phalcon时,随后的每个eb部署都会出现如下错误:
2020-09-10 07:17:32,215 P30798 [INFO] ============================================================
2020-09-10 07:17:32,215 P30798 [INFO] Test for Command 02-build-sphinx
2020-09-10 07:17:32,217 P30798 [ERROR] Exited with error code 1
2020-09-10 07:17:32,218 P30798 [INFO] ============================================================
我的问题是我该如何进行测试以检测何时需要部署该应用程序,而不是已经存在时显示ERROR?
是否要添加IgnoreErrors:true是一个好的解决方案?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)