现在也许这是一个完全新手/愚蠢的问题,道歉,但是......
我有以下文件:
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的基本知识,但在这里我只有这个问题。
答案 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