【发布时间】:2011-11-07 14:24:33
【问题描述】:
我想问你是否有类似 UNIX $PATH for PHP CLI 的东西。
例如,我想使用
php a2addvhost.php example.com
而不是
php /usr/share/php/a2addvhost.php example.com
我尝试更改 include_path 和 $PATH,但都可以。
【问题讨论】:
我想问你是否有类似 UNIX $PATH for PHP CLI 的东西。
例如,我想使用
php a2addvhost.php example.com
而不是
php /usr/share/php/a2addvhost.php example.com
我尝试更改 include_path 和 $PATH,但都可以。
【问题讨论】:
第一个参数必须是准确的路径名。但是,您可以创建一个启动脚本(以 root 身份):
$ echo -e '#!/bin/sh\nexec php /usr/share/php/a2addvhost.php "$@"\n' \
> /usr/bin/a2addvhost
$ # And then start with ...
$ a2addvhost example.com
或者,通过将a2addvhost.php 预先添加如下使其可执行:
#!/usr/bin/env php
<?php
/* php code goes here */
并使其可执行:
$ chmod a+x /usr/share/php/a2addvhost.php
现在,如果 PATH 包含 /usr/share/php/,您可以使用启动脚本
$ /usr/share/php/a2addvhost.php example.com
【讨论】:
/usr/bin(或/usr/local/bin)。另请注意,您必须在此之后 export PATH 才能生效,如果您仍然要做同样的事情,那么在 root 和非 root 之间做出决定是没有意义的。
将/usr/share/php/ 添加到您的PATH,为其提供可执行标志,然后简单地运行
a2addvhost.php example.com
您可能需要在文件开头添加 shebang。
【讨论】:
id -u" -eq 0 ];然后 PATH=".....:/usr/share/php" else PATH=".....:/usr/share/php" fi export PATH 但这仅适用于普通用户,不适用于 root(它在某处被覆盖?)...顺便说一下,我使用 Debian。
如果你在做
php a2addvhost.php example.com
你还在 Unix 中。所以a2addvhost.php 文件必须在当前目录中才能工作。
【讨论】: