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

在 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命令行解释器。

  1. # apt-get install php5-cli [Debian 及类似系统]
  2. # yum install php-cli [CentOS 及类似系统]

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

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

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

检查PHP信息

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

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

从命令行检查PHP信息

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

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

检查所有PHP信息

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

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

  1. # php -r 'phpinfo();'

PHP调试工具

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

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

  1. # php -a
  2. Interactive shell
  3. php > echo 2+3;
  4. 5
  5. php > echo 9-6;
  6. 3
  7. php > echo 5*4;
  8. 20
  9. php > echo 12/3;
  10. 4
  11. php > echo 12/5;
  12. 2.4
  13. php > echo 2+3-1;
  14. 4
  15. php > echo 2+3-1*3;
  16. 2
  17. php > exit

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

启用PHP交互模式

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

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

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

其次,让该脚本可执行:

  1. # chmod 755 phpscript.php

接着来运行它,

  1. # ./phpscript.php

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

开启PHP交互模式。

  1. # php -a

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

  1. php > function addition ($a, $b)

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

  1. php > {

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

  1. php { echo $a + $b;

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

  1. php {}

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

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

样例输出

  1. 7NULL

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

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

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

样例输出

  1. 12.3NULL

创建PHP函数

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

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

替换

  1. php { echo $a + $b;

  1. php { return $a + $b;

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

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

PHP函数

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

希望你喜欢此次教程。保持连线,你会获得更多此类文章。保持关注,保持健康。请在下面的评论中为我们提供有价值的反馈。点赞并分享,帮助我们扩散。

还请阅读: 12个Linux终端中有用的的PHP命令行用法——第二部分

原文发布时间为:2015-07-29



本文来自云栖社区合作伙伴“Linux中国

在 Linux 命令行中使用和执行 PHP 代码(一)相关推荐

  1. linux php 指令,在 Linux 命令行中使用和执行 PHP 代码(一)

    PHP是一个开源服务器端脚本语言,最初这三个字母代表的是"Personal Home Page",而现在则代表的是"PHP:Hypertext Preprocessor& ...

  2. linux命令行安装 php_如何在 Linux 命令行中使用和执行 PHP 代码

    PHP是一个开源服务器端脚本语言,最初这三个字母代表的是"Personal Home Page",而现在则代表的是"PHP:Hypertext Preprocessor& ...

  3. linux命令行 正则,在Linux命令行中使用正则表达式

    上一节我们介绍过grep命令在搜索文本信息时的基本用法,其实,grep命令还可以配合正则表达式执行更加复杂的搜索操作. 本节我们将对如何在Linux命令行中使用正则表达式进行介绍. 所谓正则表达式,就 ...

  4. linux命令行的操作符,如何在Linux命令行中进行基本的数学运算

    原标题:如何在Linux命令行中进行基本的数学运算 Linux bash或命令行允许您执行基本和复杂的算术和布尔运算.像expr,jot,bc和factor等命令可以帮助您找到复杂问题的最优数学解决方 ...

  5. linux命令行的 是啥意思,linux是什么 Linux 命令行中的21是什么意思

    50970"> Linux 命令行中的2>&1究竟是什么意思?linux是什么. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的 ...

  6. linux跑到命令行是到了哪里,在Linux命令行中使用tcpdump「超详细」

    原标题:在Linux命令行中使用tcpdump「超详细」 灵活,强大的命令行工具有助于减轻网络问题排查的痛苦. 根据我作为系统管理员的经验,我经常发现网络连接问题难以排除故障. 对于那些情况,tcpd ...

  7. centos 计算器_在Linux命令行中使用计算器的5个命令详解

    大家好,我是良许. 在使用 Linux 时,我们有时会需要做一些计算,那么我们就可能需要用到计算器.在 Linux 命令行里,有许多计算器工具,这些命令行计算器可以让我们执行科学计算.财务计算或者一些 ...

  8. 如何在 Linux 命令行中终止进程?

    如果你想在linux上停止某个进程,你会怎么操作? 如果命令/进程在前台运行,您可以使用 Ctrl+C 终端快捷方式,但是,如果进程不可见(在后台运行),您可以使用专用命令"杀死它" ...

  9. Linux命令行中使用计算器的5个命令

    在使用 Linux 时,我们有时会需要做一些计算,那么我们就可能需要用到计算器.在 Linux 命令行里,有许多计算器工具,这些命令行计算器可以让我们执行科学计算.财务计算或者一些简单的计算.当然,我 ...

最新文章

  1. JS实现表格列宽拖动
  2. okhttp上传文件结束后服务器才收到,okhttp3 Null Respone上传文件
  3. Raphael JS 矢量客户端开源框架
  4. python 等值线图_python – matplotlib等值线图:对数刻度的比例色度级
  5. 吸烟打电话检测、车道线识别等,2020中国华录杯·数据湖算法大赛火热进行中!...
  6. 星期三—用JAVA制作简易的通讯软件
  7. 【快代理API】设置IP白名单
  8. python三维建模可以加 贴图_三维模型都有哪些绘制贴图的软件??
  9. VaR、CoVaR、delta CoVaR计算方法综述 案例与代码
  10. CSDM发布文章“请勿使用默认标题”
  11. DB2数据库学习总结(一)——round函数用法
  12. Chapter6 CMOS组合逻辑门设计
  13. Point Estimation
  14. 美颜SDK如何接入到硬件设备实现美颜拍摄?
  15. js如何简单实现汉字转成拼音的功能
  16. 微信小程序踩坑之旅(三):不同机型布局适配问题(rpx,px,vh,vw)
  17. 什么是JDK、JRE
  18. 在使用腾讯云函数创建chatgpt反代理需要注意的事情
  19. linux进程调度CFS策略
  20. 让人无法拒绝的内容种草营销

热门文章

  1. MongoDB启动失败: 此应用无法在你的电脑上运行
  2. php sql 字段不能为空值,关于php:Sudden SQL问题-一般错误:1364字段没有默认值
  3. python获取日期_python 获取日期
  4. 2014计算机中山大学新华学院分数线,中山大学新华学院历年分数线 2021中山大学新华学院录取分数线...
  5. 智能一代云平台(二十二):多租户方案比较Hibernate、EclipseLink、Mybatis+Mycat
  6. 量子位首款周边卫衣上线,给你AI的力量
  7. 比Excel制图更强大,Python可视化工具Altair入门教程
  8. 英特尔推出新CPU架构!3D封装打破摩尔定律限制,10nm芯片明年上市
  9. 动物面部识别技术哪个强?奶牛鸡猪狗绵羊……
  10. 三年研发、数亿美元成本,Mate 20的“大杀器”麒麟980是怎样炼成的?