PHP不能在命令行Linux上运行


2

我想我可能只是缺少一些简单的东西,但我不能让PHP在命令行上运行任何东西。我正在使用Linux Ubuntu。

所有完全相同的文件通过网络按预期运行。我已经尝试了以下所有产生空白的命令。我的php安装位于“/ usr / bin / php”

我以root身份登录。

root@mydomain:~# whereis php
php: /usr/bin/php /usr/lib/php /usr/lib64/php /usr/share/man/man1/php.1.gz

所有返回空白:

/usr/bin/php -v
/usr/bin/php -i
php -v
php -i
/usr/bin/php -v
echo "<?php echo \"hi\\n\";" | /usr/bin/php
echo "<?php echo \"hi\\n\";" | php
/usr/bin/php /var/www/vhosts/mysite.com/delme.php
/usr/bin/php -f /var/www/vhosts/mysite.com/delme.php  

我错过了一些明显的东西吗 我必须设置一个设置才能从cli运行命令吗?我在过去的4个小时里尝试过所有的东西而没有运气。任何帮助将不胜感激。

根据用户的要求:

root@mydomain:~# ls -l /usr/bin/php
lrwxrwxrwx 1 root root 21 Mar 17  2013 /usr/bin/php -> /etc/alternatives/php
root@mydomain:~# ls -l /etc/alternatives/php
lrwxrwxrwx 1 root root 13 Mar 17  2013 /etc/alternatives/php -> /usr/bin/php5
root@mydomain:~# ls -l /usr/bin/php5
-rwxr-xr-x 1 root root 0 Jan 19 12:42 /usr/bin/php5

root@mydomain:/usr/bin# /usr/bin/php5 -v
root@mydomain:/usr/bin# 
root@mydomain:/usr/bin# type -a php
php is /usr/bin/php

请求的结果ls -l /usr/bin/php
terdon 2014年

root @mydomain:〜#ls -l / usr / bin / php lrwxrwxrwx 1 root root 21 Mar 17 2013 / usr / bin / php - > / etc / alternatives / php
kirgy

啊,有趣,有什么ls -l /etc/alternatives/php表现?你/usr/bin/php是它的链接,该文件确实存在吗?听起来你的网络服务器在它的路径中有一个可用的PHP可执行文件,但你没有。您必须遵循符号链接,直到找到丢失的符号链接。
terdon 2014年

我明白了,这里有以下内容(抱歉格式化)root @mydomain:〜#ls -l / etc / alternatives / php lrwxrwxrwx 1 root root 13 Mar 17 2013 / etc / alternatives / php - > / usr / bin / php5 root @mydomain:〜#ls -l / usr / bin / php5 -rwxr-xr-x 1 root root 0 Jan 19 12:42 / usr / bin / php5
kirgy

1
编辑你的问题并@ping我告诉我。在评论中很难阅读并且容易松散。当你在它的时候,请添加输出/usr/bin/php5 -v
terdon 2014年

Answers:


0

由于你/usr/bin/php5是空的,我认为你必须在某些时候无意中覆盖它。最简单的修复方法是删除php并重新安装它:

sudo apt-get remove php5 && sudo apt-get install php5
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.