PHP try-catch在命令行中无法识别? (尝试安装Composer)

时间:2013-05-09 12:33:52

标签: php try-catch composer-php

我正在尝试在GoDaddy托管的Linux服务器上安装Composer(http://getcomposer.org/download/),但它无法正常工作。无论我尝试哪种方法,我最终都遇到了以下错误的某些版本:

解析错误:语法错误,第290行意外“{”。

第290行引用此文件中的第290行:https://getcomposer.org/installer这是try-catch块的开头。事实上,甚至是一个简单的脚本,如:

echo '<?php echo "Hello World "; try {echo "Goodbye";} catch (Exception $e) {} ?>' | php

产生相同类型的语法错误(原谅尴尬的管道.GoDaddy似乎不喜欢-r选项)。

同样,如果我将该代码放在文件“argh.php”中并运行php -f argh.php,我会收到语法错误,但如果我在浏览器中访问该页面,它将正常工作。

有人知道为什么php会一直阻塞try-catch块或者我可以安装Composer的任何其他方式吗? (P.S.,我使用的是PHP 5.3)

2 个答案:

答案 0 :(得分:0)

echo '<?php echo "Hello World "; try {echo "Goodbye";} catch (Exception $e) {} ?>' | /web/cgi-bin/php5

工作得很好。所以我只是愚蠢。我现在尝试使用/ web / cgi-bin / php5安装Composer,看看会发生什么。

答案 1 :(得分:0)

由于评论中隐藏的答案似乎被忽视了:

命令行上的php命令是旧的PHP版本(4.x),它不支持相同的语法。主机可以提供并行安装的各种PHP版本,新版本可用作php5php53php5.3/web/cgi-bin/php5或一些此类备用可执行文件。请参阅主持人的文档。

相关问题