如何通过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 相关文章推荐
php 破解防盗链图片函数
Dec 09 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
Aug 21 PHP
wordpress自定义url参数实现路由功能的代码示例
Nov 28 PHP
PHP实现取得HTTP请求的原文
Aug 18 PHP
PHP中使用imagick生成PSD文件缩略图教程
Jan 26 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 PHP
PHP简单实现生成txt文件到指定目录的方法
Apr 25 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 PHP
关于PHP定时发送服务的解决办法
Apr 23 PHP
PHP实现的回溯算法示例
Aug 15 PHP
Yii2.0框架behaviors方法使用实例分析
Sep 30 PHP
PHP array_reverse() 函数原理及实例解析
Jul 14 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 字符串操作入门教程
2006/12/06 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
php判断数组中是否存在指定键(key)的方法
2015/03/17 PHP
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
jquery删除指定子元素代码实例
2015/01/13 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
Javascript的this用法
2017/01/16 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
认识less和webstrom的less配置方法
2017/08/02 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python运算符重载用法实例分析
2015/06/01 Python
使用Python对MySQL数据操作
2017/04/06 Python
对python的文件内注释 help注释方法
2018/05/23 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
python实现键盘控制鼠标移动
2020/11/27 Python
python实现弹跳小球
2019/05/13 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
2020/02/29 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
CSS3 不定高宽垂直水平居中的几种方式
2020/03/26 HTML / CSS
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
个人能力自我鉴赏
2014/01/25 职场文书
企业军训感言
2014/02/08 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
2015年支教教师工作总结
2015/07/22 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
python批量更改目录名/文件名的方法
2021/04/18 Python