PHP Composer更新语句需要特定服务器上的用户密码,但在所有其他服务器(看起来配置相同)上却不需要。我想纠正这个问题,以便在我们更新时作曲家不再需要密码。
背景
我们的小型企业在数据中心拥有多台服务器。我们运行CENTOS 6.8 x86_64标准。每台服务器都运行最新的cpanel / whm(WHM 58.0(build 28))。
Web目录与用户名绑定。所以/ home / user1是user1用户的目录,依此类推。 (这只是CPanel CentOS服务器的正常设置)。
更新作曲家
每当用户使用他们的用户名通过SSH登录时,他们可以在其主目录中运行composer update --no-dev
并且所有内容都会更新。如果需要,我们可以从登录到服务器的脚本调用composer update并执行命令。这是正常和预期的路径。
问题服务器
有一台服务器的行为不同。当我们在此服务器上运行composer update --no-dev
时,它会询问本地用户的密码。我相信这只是运行Composer的默认CPanel安装。这是个问题。我们不希望它要求输入密码。这与我们自动化命令的能力混淆了。但我们无法弄清楚这台服务器的不同之处。
有关文件权限的其他详细信息
Composer安装在/ bin /和ls -l
详细信息如下:
-rwxr-xr-x 1 root root 1705467 Jul 19 14:43 composer*
仅作比较,cat
命令位于同一目录中,ls -l
如下所示:
-rwxr-xr-x 1 root root 48568 May 11 03:59 cat*
cat
命令不需要密码,但是composer命令可以。
有关编写器执行位置的详细信息
Composer在用户目录中执行。
所有文件均归用户所有。文件具有以下权限:-rw-r--r--
,目录具有以下权限:drwxr-xr-x
有趣的是,.composer
目录设置如下:drwxrwxr-x
但在其他服务器上也是如此。
评论
关于相关性的注意事项:这似乎与PHP Composer设置有关(但就像我说的那样,我们还不知道为什么会发生这种情况)因为在同一目录中调用的所有其他二进制文件和命令都能正常工作。我的大部分描述和问题都是为了解决服务器似乎配置正确以消除许多变量这一事实。由于这特别影响了php工具的设置,因此该主题在Stack Overflow上似乎比在Server Fault上更相关,因此它是Stack Overflow的相关问题。
再次感谢您的时间,如果您对此有任何见解,我将不胜感激!