3

因此,我正在与 PHP/MySQL 网站上的设计师合作,他希望有一些脚本可以让他的生活更轻松。他非常喜欢使用命令行来处理 git、SASS、node 等内容。我希望他能够像运行程序一样运行我的脚本,而不是通过 PHP 运行它。

所以代替这个:

php /path/to/file/create_module.php module_name

我想这样做:

myscript create_module module_name

是否可以在 Apache 服务器上使用 PHP 执行此操作?我知道我很可能不得不修改服务器以正确解释它,这很好。我什至不知道从哪里开始,在 Google 上找不到我需要的东西。

4

4 回答 4

3

您最好的选择是创建一个alias.

因此,别名myscript实际上会指向命令:php /path/to/file/create_module.php然后任何额外的参数都将按类型传递。

在命令行中,执行以下操作:

cd /etc/
nano bash.bashrc

在文件的最底部,添加以下文本行:

alias "myscript=php /path/to/file/create_module.php"

BASHRC 是在用户登录时运行的脚本,因此每次用户登录系统时都会重新创建别名。

于 2012-12-21T17:14:42.790 回答
2

我不确定您myscript要做什么,但是要通过命令行运行 php 脚本而不指定 php 二进制文件,只需添加 aa shebang,例如

#!/bin/env php
<?php

// The above expects env is in /bin

$foo = "bar";

或者你喜欢的完整路径

#!/usr/bin/php
于 2012-12-21T17:14:56.750 回答
1

另一种选择:Shell 脚本包装器

/bin在您的 中或其他目录中创建一个新的文本文件,PATH将其命名为您希望如何调用脚本并为其提供此内容

#!/bin/bash
cd /path/to/your/php/scripts/folder
php script.php $*

不要忘记

chmod a+x /path/to/bash/script

这样做的好处是您的 PHP 脚本在正确的目录中运行,它可能期望其他资源是它所依赖的。

于 2012-12-21T17:28:30.430 回答
0

在 Linux 解决方案上:

/usr/bin/php /path/to/file.php

在 Windows 解决方案上:

C:\Path\To\PHPExe C:\Path\To\phpfile.php
于 2012-12-21T17:26:46.890 回答