下面是更多的细节,但是当我发布一个
composer install
或
composer update
命令,该命令用于对包含的项目使用自定义VCS存储库的项目。这是通过SSH会话在ibmiv7r3系统上实现的。关于如何进一步排除故障,我已经没有主意了,所以我来了。有没有人见过这个错误,或者对如何进一步排除故障有什么想法?
bash-4.4$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 113 installs, 0 updates, 0 removals
- Installing sshUser/myPackage (v1.0.26): Cloning a2db0666b1
[RuntimeException]
Failed to clone gitUser:/opt/git/myPackage.git, git was not found, check that
it is installed and in your PATH env.
Could not load program git:
Dependent module /usr/local/zendphp7/lib/libz.so.1(shr_64.o) could not be loaded.
File /usr/local/zendphp7/lib/libz.so.1 is not an
archive or the file could not be read properly.
System error: Exec format error
我有一个远程ibmi服务器,它有两个用户。第一个用户“gitUser”用于我的私有Git存储库(headless)。然后我有了另一个用户“sshUser”,它用于SSH-in并执行我的典型工作。我将SSH密钥配置为简化两个用户的连接,并且“gitUser”SSH密钥不需要密码,因此我可以将其用于自动脚本编写。
require
从存储库中删除包。
"repositories": [
{
"type": "vcs",
"url": "gitUser:/opt/git/myPackage.git"
}
]
很明显,问题在于git和在git中找不到依赖关系
libz.so.1
.
但是,如果我遵循路径中Git版本的依赖关系链,则所有适当的文件都具有足够的权限:
bash-4.4$ which git
/QOpenSys/pkgs/bin/git
bash-4.4$ dump -X64 -H /QOpenSys/pkgs/bin/git
/QOpenSys/pkgs/bin/git:
***Loader Section***
Loader Header Information
VERSION# #SYMtableENT #RELOCent LENidSTR
0x00000001 0x000000df 0x0000433f 0x0000009d
#IMPfilID OFFidSTR LENstrTBL OFFstrTBL
0x00000006 0x00044910 0x00000a18 0x000449ad
***Import File Strings***
INDEX PATH BASE MEMBER
0 /QOpenSys/pkgs/lib:/QOpenSys/usr/lib
1 libz.so.1 shr_64.o
2 libiconv.so.2 shr_64.o
3 libcrypto.so.1.0.0 shr_64.o
4 libpthread.a shr_xpg5_64.o
5 libc.a shr_64.o
bash-4.4$
gitUser
好像我发了一张
编写器安装
或
从另一台机器(有合适的钥匙)开始,一切工作都完美无缺。所以它似乎是针对ibmi和
sshUser
轮廓。
git
可执行文件及其依赖项不存在。虽然我想作曲家会用我的方法。
:我尝试在我的中指定LIBPATH
./.profile
有以下几点。但这似乎没什么区别:
LIBPATH=/usr/local/zendphp7/lib
LIBPATH=$LIBPATH:/QOpenSys/pkgs/lib:/QOpenSys/usr/lib
export LIBPATH
回音时:
bash-4.4$ echo $LIBPATH
/usr/local/zendphp7/lib:/QOpenSys/pkgs/lib:/QOpenSys/usr/lib
bash-4.4$
如果我不把以上内容加到我的
./.简介
echo $LIBPATH
解决方案:
我刚刚将ZENDPHP7目录结构中的符号链接更改为repo版本。或者,您可以操纵库路径,但我无法在ibmi上找到正确的方法。
bash-4.4$ pwd
/usr/local/zendphp7/lib
bash-4.4$ ln -s /QOpenSys/pkgs/lib/libz.so.1 ./libz.so.1
bash-4.4$ ls -la /usr/local/zendphp7/lib/libz.so.1
lrwxrwxrwx 1 dl 0 56 Oct 11 14:21 /usr/local/zendphp7/lib/libz.so.1 -> /QOpenSys/pkgs/lib/libz.so.1
bash-4.4$