如何通过Linux命令行使用和运行PHP脚本


Posted in PHP onJuly 29, 2015

下面通过图文并茂的方式给大家分享下通过Linux命令使用和运行PHP脚本。

PHP是一个开源服务器端脚本语言,最初这三个字母代表的是“Personal Home Page”,而现在则代表的是“PHP:Hypertext Preprocessor”,它是个递归首字母缩写。它是一个跨平台脚本语言,深受C、C++和Java的影响。

如何通过Linux命令行使用和运行PHP脚本

在 Linux 命令行中运行 PHP 代码

PHP的语法和C、Java以及带有一些PHP特性的Perl变成语言中的语法十分相似,它当下大约正被2.6亿个网站所使用,当前最新的稳定版本是PHP版本5.6.10。

PHP是HTML的嵌入脚本,它便于开发人员快速写出动态生成的页面。PHP主要用于服务器端(而Javascript则用于客户端)以通过HTTP生成动态网页,然而,当你知道可以在Linux终端中不需要网页浏览器来执行PHP时,你或许会大为惊讶。

本文将阐述PHP脚本语言的命令行方面。

1. 在安装完PHP和Apache2后,我们需要安装PHP命令行解释器。

# apt-get install php5-cli         

[Debian 及类似系统]# yum install php-cli      

[CentOS 及类似系统]

接下来我们通常要做的是,在 /var/www/html (这是 Apache2 在大多数发行版中的工作目录)这个位置创建一个内容为 <?php phpinfo(); ?> ,名为 infophp.php 的文件来测试(PHP是否安装正确),执行以下命令即可。

# echo '<?php phpinfo(); ?>' > /var/www/html/infophp.php

然后,将浏览器访问 http://127.0.0.1/infophp.php ,这将会在网络浏览器中打开该文件。

如何通过Linux命令行使用和运行PHP脚本 

检查PHP信息

 不需要任何浏览器,在Linux终端中也可以获得相同的结果。在Linux命令行中执行 /var/www/html/infophp.php ,如:

# php -f /var/www/html/infophp.php

如何通过Linux命令行使用和运行PHP脚本

从命令行检查PHP信息

由于输出结果太大,我们可以通过管道将上述输出结果输送给 less 命令,这样就可以一次输出一屏了,命令如下:

# php -f /var/www/html/infophp.php | less

如何通过Linux命令行使用和运行PHP脚本

检查所有PHP信息

这里,‘-f‘选项解析并执行命令后跟随的文件。

2. 我们可以直接在Linux命令行使用 phpinfo() 这个十分有价值的调试工具而不需要从文件来调用,只需执行以下命令:

# php -r 'phpinfo();'

如何通过Linux命令行使用和运行PHP脚本

PHP调试工具

这里,‘-r‘ 选项会让PHP代码在Linux终端中不带 <> 标记直接执行。

3. 以交互模式运行PHP并做一些数学运算。这里,‘-a‘ 选项用于以交互模式运行PHP。

# php -aInteractive shellphp > echo 2+3;5php > echo 9-6;3php > echo 5*4;20php > echo 12/3;4php > echo 12/5;2.4php > echo 2+3-1;4php > echo 2+3-1*3;2php > exit

输入 ‘exit‘ 或者按下 ‘ctrl+c‘ 来关闭PHP交互模式。

如何通过Linux命令行使用和运行PHP脚本

启用PHP交互模式

4. 你可以仅仅将PHP脚本作为shell脚本来运行。首先,创建在你当前工作目录中创建一个PHP样例脚本。

# echo -e '#!/usr/bin/php\n<?php phpinfo(); ?>' > phpscript.php

注意,我们在该PHP脚本的第一行使用 #!/usr/bin/php ,就像在shell脚本中那样/bin/bash。第一行的 #!/usr/bin/php 告诉Linux命令行用 PHP 解释器来解析该脚本文件。

其次,让该脚本可执行:

# chmod 755 phpscript.php

接着来运行它,

# ./phpscript.php

5. 你可以完全靠自己通过交互shell来创建简单函数,这你一定会被惊到了。下面是循序渐进的指南。

开启PHP交互模式。

# php -a

创建一个函数,将它命名为 addition 。同时,声明两个变量 $a$b

php > function addition ($a, $b)

使用花括号来在其间为该函数定义规则。

php > {

定义规则。这里,该规则讲的是添加这两个变量。

php { echo $a + $b;

所有规则定义完毕,通过闭合花括号来封装规则。

php {}

测试函数,添加数字4和3,命令如下:

php > var_dump (addition(4,3));

样例输出

7NULL

你可以运行以下代码来执行该函数,你可以测试不同的值,你想来多少次都行。将里头的 a 和 b 替换成你自己的值。

php > var_dump (addition(a,b));

php > var_dump (addition(9,3.3));

样例输出

12.3NULL

如何通过Linux命令行使用和运行PHP脚本

创建PHP函数

你可以一直运行该函数,直至退出交互模式(ctrl+z)。同时,你也应该注意到了,上面输出结果中返回的数据类型为 NULL。这个问题可以通过要求 php 交互 shell用 return 代替 echo 返回结果来修复。

只需要在上面的函数的中 ‘echo‘ 声明用 ‘return‘ 来替换

替换

php { echo $a + $b;

php { return $a + $b;

剩下的东西和原理仍然一样。

这里是一个样例,在该样例的输出结果中返回了正确的数据类型。

如何通过Linux命令行使用和运行PHP脚本

PHP函数

永远都记住,用户定义的函数不会从一个shell会话保留到下一个shell会话,因此,一旦你退出交互shell,它就会丢失了。

以上内容就是通过Linux命令行使用和运行PHP脚本的全部内容,希望大家喜欢。

PHP 相关文章推荐
在mysql数据库原有字段后增加新内容
Nov 26 PHP
php函数间的参数传递(值传递/引用传递)
Sep 23 PHP
PHP利用str_replace防注入的方法
Nov 10 PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 PHP
ThinkPHP框架实现session跨域问题的解决方法
Jul 01 PHP
php数组操作之键名比较与差集、交集赋值的方法
Nov 10 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
Jun 30 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
Jan 10 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 PHP
PHP中关于php.ini参数优化详解
Feb 28 PHP
PHP如何实现Unicode和Utf-8编码相互转换
Jul 29 #PHP
PHP模拟QQ登录的方法
Jul 29 #PHP
PHP实现动态web服务器方法
Jul 29 #PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
Jul 29 #PHP
php简单防盗链实现方法
Jul 29 #PHP
如何用PHP来实现一个动态Web服务器
Jul 29 #PHP
php实现过滤字符串中的中文和数字实例
Jul 29 #PHP
You might like
php数组指针操作详解
2017/02/14 PHP
ecshop添加菜单及权限分配问题
2017/11/21 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
2007/11/30 Javascript
jquery 弹出登录窗口实现代码
2009/12/24 Javascript
json数据的列循环示例
2013/09/06 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
详解vue-cli3使用
2018/08/14 Javascript
在vue中获取token,并将token写进header的方法
2018/09/26 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
2020/09/09 Javascript
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
pandas 小数位数 精度的处理方法
2018/06/09 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
python之生产者消费者模型实现详解
2019/07/27 Python
解决keras backend 越跑越慢问题
2020/06/18 Python
python中xlrd模块的使用详解
2021/02/01 Python
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
.net面试题
2015/12/22 面试题
金融专业推荐信
2013/11/14 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
信访工作个人总结
2015/03/03 职场文书
高中开学感言
2015/08/01 职场文书
Mysql 如何查询时间段交集
2021/06/08 MySQL
MySQL快速插入一亿测试数据
2021/06/23 MySQL
MySQL中utf8mb4排序规则示例
2021/08/02 MySQL
Redis keys命令的具体使用
2022/06/05 Redis