Unix/Linux 下直接执行 PHP 脚本文件

由于我们的服务器都是使用的 Linux 系统,并且都有搭建完整的 PHP 环境,所以有时候我会用 PHP 写一些执行自动化任务的脚本,但是每次执行这个 PHP 脚本都需要使用 php myscript.php 的方式,稍微有点儿??隆F涫担?强梢灾苯又葱 PHP 脚本文件的。

编写你的脚本文件

这里我们编写一个名字为 test_run.php 的文件,文件的内容如下:

Here is some plain text.
Here is the file name:
<?php
echo $argv[0], PHP_EOL;
?>
 
 
脚本内容很简单,就是把当前脚本文件的名称打印出来。

然后,我们使用 PHP 命令执行一下这个脚本:

yuanyu@ymac:phpworkspace $ php test_run.php hello
Here is some plain text.
Here is the file name:
test_run.php
yuanyu@ymac:phpworkspace $
 
给脚本文件增加头信息,并且设置权限

然后,在这个文件的第一行写上 php 命令的全路径,前面是一个 #!:

#!/usr/bin/php
Here is some plain text.
Here is the file name:
<?php
echo $argv[0], PHP_EOL;
?>
 
 
然后给这个文件赋予可执行的权限:

 
yuanyu@ymac:phpworkspace $ chmod u+x ./test_run.php
 
接下来就可以直接执行这个脚本了:

 
yuanyu@ymac:phpworkspace $ ./test_run.php
Here is some plain text.
Here is the file name:
./test_run.php
yuanyu@ymac:phpworkspace $
 
这种方式在 PHP 官方文档中也是有说的,请参考:

http://php.net/manual/en/features.commandline.usage.php

文档中的

“Example #2 Script intended to be run from command line (script.php)”

时间: 2024-07-28 23:22:14

Unix/Linux 下直接执行 PHP 脚本文件的相关文章

Linux下如何将数据库脚本文件从sh格式变为sql格式

  1. sh文件内容 本文中的文件名为example.sh,其内容如下: #!/bin/bash function Init() { if [ -f"example.sql" ] then echo"example.sql is exits and is deleting it,then recreate it" rm -fexample.sql else echo"example.sql no exits and is creating it"

linux下oracle自动备份脚本

linux下oracle自动备份脚本  vi /home/oracle/backup.sh   //编写脚本 以下为脚本内容 time=` date +"%Y%m%d%H%M" ` //变量time 获取当前系统时间 su - oracle -c "exp hbskjt_0113/password owner=hbskjt_0113 file=/home/oracle/hbskjt_$time.dmp"  //导库脚本 cd /home/oracle tar zcv

Linux下SVN服务器自动更新文件到Web目录的方法_Linux

说明: 服务器操作系统:CentOS 服务器IP:192.168.21.134 SVN安装路径:/usr/local/svn SVN项目路径:/home/svn SVN登录账号:osyunwei SVN登录密码:123456 Web站点根目录:/home/web实现目的: 当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录 具体操作: 一.使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录 cd /home/svn/ho

Linux下编写Lua扩展so文件和调用方法实例

  这篇文章主要介绍了Linux下编写Lua扩展so文件和调用方法实例,本文给出C语言代码.编译SO文件.Lua中调用代码实例,需要的朋友可以参考下 代码如下: #include #include #include #include #include #include #include #include #include #include #include "lua.h" #include "lualib.h" #include "lauxlib.h&qu

linux下svn提交忽略某些文件、目录(ignore属性

 svn也是一个目录同步了我们可以用它来做版本控制了,下面一起来看看关于linux下svn提交忽略某些文件.目录(ignore属性),希望例子对各位有帮助.     在项目中,有些文件是不需要将本地的提交到svn仓库,例如config.php文件,特别是定义了绝对路径的,或者是缓存目录.图片目录等,所以为了方便,在每次提交svn的时候,都需要忽略这些文件.目录,避免不慎提交引起团队中其他成员需要修改其本地的版本. linux下用svn propedit svn:ignore命令可以编辑忽略文件.

win7系统下的orcal调用脚本文件会出现乱码

问题描述 win7系统下的orcal调用脚本文件会出现乱码 脚本文件中的代码粘贴到sqlplus中可以正常执行,但是调用脚本文件中的代码,就会出现乱码. 解决方案 你另存为一下,改一下编码类型试一试? 解决方案二: Win7系统出现乱码的解决办法(转载)win7系统下DB2乱码问题,菜单栏出现方框

Linux有问必答:如何在Linux下重命名多个文件

Linux有问必答:如何在Linux下重命名多个文件 提问:我知道我可以用mv命令重命名文件.但是当我想重命名很多文件怎么办?如果为每个文件都这么做将会是很乏味的.有没有办法一次性重命名多个文件? 在Linux中,当你想要改变一个文件名,使用mv命令就好了.然而mv不能使用通配符重命名多个文件.可以用sed.awk或者与xargs结合使用来处理多个文件的情况.然而,这些命令行即繁琐又不友好,并且如果不小心的话还很容易出错.你不会想要撤销1000个文件的错误名吧! 当你想要重命名多个文件的时候,r

linux下,java调用dll文件时,dll应该放在哪

问题描述 windows下,java调用dll文件时,dll放在system32这个文件夹下面,那linux下,dll文件应该放在哪? 问题补充:radio123 写道 解决方案 楼主要伤心了 linux底下应该不能直接调用dll 二进制格式不一样解决方案二:你们有谁做过把网页生成图片的功能吗,我提问很久了,都没人搭理我,我在windows下行,在linux下就不行了解决方案三:其实我也是啊,一个功能好不容易实现了,但是linux下不能运行,郁闷死了解决方案四:这个还真没有,还是借助网上力量搜索

java-操作数据库的.exe程序,可以批量执行sql脚本文件

问题描述 操作数据库的.exe程序,可以批量执行sql脚本文件 求大神帮忙啊~用java可以做这个东西吗?完全没有思路啊,要求是可以操作局域网内的另一台电脑上的mysql数据库 解决方案 如果有访问权限的话,直接运行Runtime.getRuntime().exec("远程IP文件路径exe文件");如果没有,那可以先用java进行telnet连接到那台机器,然后调用exe程序,再不行就只能在远程机器上写webservice服务然后调用了. 解决方案二: 批量执行SQL脚本 解决方案三