所以我在一个PHP / MySQL网站上与设计师合作,他希望有一些脚本让他的生活更轻松。他非常适合使用git,SASS,node等东西的命令行。我希望他能像运行程序一样运行我的脚本,而不是通过PHP运行它。
所以不要这样:
php /path/to/file/create_module.php module_name
我想这样做:
myscript create_module module_name
是否可以在Apache服务器上使用PHP执行此操作?我知道我很可能必须修改服务器才能正确解释它,这很好。我甚至不知道从哪里开始,也无法在Google上找到我需要的东西。
答案 0 :(得分: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是一个在用户登录时运行的脚本,因此每次用户登录系统时都会重新创建别名。
答案 1 :(得分:2)
我不确定你在寻找myscript
要做什么,但是要通过命令行运行php脚本而不指定php二进制文件,只需添加一个shebang
,如
#!/bin/env php
<?php
// The above expects env is in /bin
$foo = "bar";
如果您愿意,可以选择完整路径
#!/usr/bin/php
答案 2 :(得分:1)
在/bin
或PATH
中的另一个目录中创建一个新文本文件,将其命名为您要调用脚本的方式并为其提供此内容
#!/bin/bash
cd /path/to/your/php/scripts/folder
php script.php $*
别忘了
chmod a+x /path/to/bash/script
这样做的好处是,您的PHP脚本在正确的目录中运行,在该目录中可能会有其他资源依赖于它。
答案 3 :(得分:0)
在Linux解决方案上:
/usr/bin/php /path/to/file.php
在Windows解决方案上:
C:\Path\To\PHPExe C:\Path\To\phpfile.php