在命令行中运行php脚本+非常基本

时间:2016-04-12 20:56:29

标签: php

现在也许这是一个完全新手/愚蠢的问题,道歉,但是......

我有以下文件:

shipment_settings.py

现在我可以按如下方式运行脚本:

$ cat helloWorldScript.php
/*here I want to be able to run this in the command line
witht the command pho scriptname.php.
*/
<?php  Print "Hello, World!\n"; ?>

或者使用-f参数$ php helloWorldScript.php /*here I want to be able to run this in the command line witht the command pho scriptname.php. */ Hello, World!

-f <file>        Parse and execute <file>.

但为什么在执行文件时会显示注释?
使用$ php -f helloWorldScript.php /*here I want to be able to run this in the command line witht the command pho scriptname.php. */ Hello, World! 有什么区别?

我问的原因是因为我想使用php脚本将csv文件导入数据库,请参阅here
我在browser中有一些关于php的基本知识,但在这里我只有这个问题。

2 个答案:

答案 0 :(得分:6)

这些不是评论,因为它们不在<?php ?>标记内。

将开始标记移动到文件的顶部,它应该按预期运行:

<?php
/*here I want to be able to run this in the command line
witht the command pho scriptname.php.
*/
Print "Hello, World!\n"; ?>

php标签中未包含的任何内容都不会被解析为代码。

如果您的文件只包含代码(这听起来像您的情况),这是常见做法,甚至鼓励在第一行打开<?php并省略任何结束?>标记。

请参阅documentation

答案 1 :(得分:3)

<?php ... ?>是描述代码开始位置的特殊标记。除此之外的任何东西都被视为&#34;逐字打印出来。&#34;

为了让您的/* ... */条评论无法打印出来,您需要将它们包含在剧本的代码部分中:

<?php
/*here I want to be able to run this in the command line
witht the command pho scriptname.php.
*/
print "Hello, World!\n";
?>

其他建议

如果你在文件的顶部放了一个读取#!/usr/bin/php甚至#!/usr/bin/env php的shebang行,你可以执行你的脚本,就像它是一个程序一样,前提是你设置了可执行位文件。

此外,?>不是必需的。

所有在一起:

#!/usr/bin/php
<?php
/*here I want to be able to run this in the command line
witht the command pho scriptname.php.
*/
print "Hello, World!\n";

然后chmod +x myscript.php。然后,您可以使用./myscript.php

从命令行调用它