Php 无法自我更新编写器?

Php 无法自我更新编写器?,php,composer-php,Php,Composer Php,我已经用了大约一个月了。然后有一天,作曲家向我展示了以下信息: 警告:composer的此开发版本已超过30天。它是 建议通过运行“/usr/local/bin/composer”进行更新 “自我更新”以获取最新版本 我已根据文档在全球范围内安装了composer which composer /usr/local/bin/composer 运行sudo composer self update /usr/bin/env:php:没有这样的文件或目录 我已经检查了/usr/bin/env 使用

我已经用了大约一个月了。然后有一天,作曲家向我展示了以下信息:

警告:composer的此开发版本已超过30天。它是 建议通过运行“/usr/local/bin/composer”进行更新 “自我更新”以获取最新版本

我已根据文档在全球范围内安装了composer

which composer
/usr/local/bin/composer
运行sudo composer self update

/usr/bin/env:php:没有这样的文件或目录

我已经检查了/usr/bin/env 使用此命令:

whereis /usr/bin/env
env: /usr/bin/env /usr/bin/X11/env /usr/share/man/man1/env.1.gz
我的php版本:

PHP 5.5.1 (cli) (built: Jul 26 2013 19:50:47) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
看起来/usr/bin/env实际上是存在的

我正在使用ubuntu 12.04LTS

echo $PATH

/home/chanhxc/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/chanhxc/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/lampp/bin:/home/chanhxc/pear/bin:/home/chanhxc/.composer/vendor/bin:/opt/lampp/bin
更新

strace sudo composer self-update 2>&1 | grep open

open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/i386-linux-gnu/libutil.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/lib/i386-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/lib/i386-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
open("/usr/share/locale/en_PH/LC_MESSAGES/sudo.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/sudo.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_PH/LC_MESSAGES/sudo.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en/LC_MESSAGES/sudo.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/var/run/utmp", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
顺便说一句,我正在使用安装在/opt 并且php在我的路径中

echo $PATH

/home/chanhxc/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/chanhxc/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/lampp/bin:/home/chanhxc/pear/bin:/home/chanhxc/.composer/vendor/bin:/opt/lampp/bin
错误消息:

/usr/bin/env:php:没有这样的文件或目录

告诉您未找到
php
,即未安装
php cli
,或者php命令不在
PATH
环境变量中

因此,您需要安装(
sudo-apt-get-install-php5-cli
)或将其放在您的路径中:

vim ~/.bashrc

PATH=$PATH:/path/to/php-cli/bin
export PATH
更新

因此,要发布符号链接php可执行文件,应解决您的问题:


ln-s/opt/lampp/bin/php/usr/local/bin/php

如果您有xampp,此解决方案将起作用

ln -s /opt/lampp/bin/php /usr/local/bin/php

我遇到了同样的问题(在Red Hat Enterprise Linux服务器上)。我的解决方案是切换到root用户,而不是sudo:

sudo su
/usr/local/bin/composer self-update

在Centos中也是同样的解决方案


关于

看起来您没有安装PHP。检查php--version。我有一个。事实上,我已经使用composer大约一个月了。我将更新我的问题,以显示我的php与您是否使用root权限调用
composer自我更新
?是什么给了您
env php
?我正在使用xampp我的路径中有php。我已经更新了我的问题以显示PATH env变量。php位于
/opt/lampp/bin
目录问题是:
php是否在root路径中?
多次询问:)
ln-s/opt/lampp/bin/php/usr/local/bin/php
工作正常。谢谢