当前位置: 首页 > 知识库问答 >
问题:

PHP脚本在$PATH变量中被lookup调用时不运行

景高杰
2023-03-14

我有一个PHP脚本位于我的$PATH变量的文件夹中。脚本的第一行如下:

#!/usr/bin/php

当我在bash中通过提供脚本的路径来执行此脚本时(例如)

$ ./mattPWDtrim
$ bin/scripts/mattPWDtrim

或者使用PHP CLI程序执行它:

$ php mattPWDtrim
$ php bin/mattPWDtrim
$ php -f mattPWDtrim

脚本以预期的输出正常运行。如果我执行以下操作,它也可以正常运行:

$ `which mattPWDtrim`

但是,如果我尝试在没有PHP CLI程序的情况下运行脚本,并且没有指定脚本的路径,脚本就不会运行。

有人知道为什么吗?

编辑:这是失败的调用:

$ mattPWD_truncate

无论我是否与脚本位于同一文件夹中,还是系统中的其他任何位置。

共有2个答案

季炯
2023-03-14

我刚刚读到这样的评论:

我会建议用“#!/usr/bin/envphp”而不是一个硬编码的php路径,因为这允许php二进制文件在用户路径的任何地方。

在本页上:http://blog.digitalstruct.com/2007/04/24/tips-and-tricks-php-shell-scripts/

也许这会解决你的问题。

谭修竹
2023-03-14

PHP shell脚本仍然必须有

#!/usr/bin/php
echo 'foo'

输出echo'foo'

v. s.

#!/usr/bin/php
<?php
echo 'foo'

输出为foo

记住,没有“php脚本”这样的东西。只有文件具有

 类似资料:
  • 我正在开发一个内置在jquery和PHP中的遗留应用程序。我不确定如何正确赋值变量。当视图源时,PHP部分为空。 然后使用jquery分配width变量 这没有应用正确的宽度。 有什么想法为什么php变量不采取吗? 上面的JS出现在源代码中,如 我以前从来没有使用过PHP,只是想在这个遗留站点上工作?

  • 我有两个php脚本:main.php和script.php。 我正在将变量从main.php发送到script.php。在script.php文件中,我使用这个变量从MySQL数据库中获取某些数据。这个数据存储在变量中,需要发送回main.php文件。 为了在两个文件之间传输变量,我使用,但在打开main.php文件时,我得到一个。 在脚本之间传输这两个变量的正确方法是什么? main.php s

  • 问题内容: 我有一个C ++程序,需要从PHP脚本中获取数据,对其进行处理,然后将数据返回给我的PHP脚本。 如何将值从PHP传递到C ++? 您如何运行C ++脚本?您必须先对其进行一些编译吗? 您如何从C ++脚本中获取值? 问题答案: 1。 如何将值从PHP传递到C ++? 回答: 在php文件中,您可以使用 exec 函数来执行C ++二进制文件。例: 2。 您如何运行C ++脚本?您必须

  • 我有一个关于在AMPPS中为PHP脚本设置“$PATH”变量的问题(在OSX 10.10 Yosemite上)。 AMPPS中的PHP似乎以我的用户“danny”的身份运行,但是它看到的$PATH是不同的。以下是我在终端上看到的:Dannys MacBook Air:AMPPS danny$echo$PATH/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

  • 我想将我的Python脚本放入PATH中列出的目录中,并通过从Windows上cygwin中的任何位置键入其名称来调用该脚本。 我在用人妖 这在Linux机器上运行得非常好。 然而,通过从windows cygwin调用以下行,我得到一个错误: 问题的原因是cygwin扩展了脚本路径,python不理解cygwin装载驱动器的方式:/cygwin/d/。。。当我以完整路径(win格式)或相对路径运

  • 拉斯宾(杰西)-root@RaspberryPi-腻子 在我输入的终端中 现在我得到了一个包含此代码的脚本 有一个cronjob每小时启动一次这个脚本 苏。一定有什么地方出错了。因为他将变量$finalanswer解读为nothing。 这意味着在此脚本之外定义的变量将不起作用? 我该如何解决这个问题?