linux php 指令,在 Linux 命令行中使用和执行 PHP 代码(一)
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命令行解释器。
# 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
检查PHP信息
不需要任何浏览器,在Linux终端中也可以获得相同的结果。在Linux命令行中执行/var/www/html/infophp.php,如:
# php -f /var/www/html/infophp.php
从命令行检查PHP信息
由于输出结果太大,我们可以通过管道将上述输出结果输送给 less 命令,这样就可以一次输出一屏了,命令如下:
# php -f /var/www/html/infophp.php | less
检查所有PHP信息
这里,‘-f‘选项解析并执行命令后跟随的文件。
2. 我们可以直接在Linux命令行使用phpinfo()这个十分有价值的调试工具而不需要从文件来调用,只需执行以下命令:
# php -r 'phpinfo();'
PHP调试工具
这里,‘-r‘ 选项会让PHP代码在Linux终端中不带标记直接执行。
3. 以交互模式运行PHP并做一些数学运算。这里,‘-a‘ 选项用于以交互模式运行PHP。
# php -a
Interactiveshell
php>echo2+3;
5
php>echo9-6;
3
php>echo5*4;
20
php>echo12/3;
4
php>echo12/5;
2.4
php>echo2+3-1;
4
php>echo2+3-1*3;
2
php>exit
输入 ‘exit‘ 或者按下 ‘ctrl+c‘ 来关闭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>functionaddition($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
创建PHP函数
你可以一直运行该函数,直至退出交互模式(ctrl+z)。同时,你也应该注意到了,上面输出结果中返回的数据类型为 NULL。这个问题可以通过要求 php 交互 shell用 return 代替 echo 返回结果来修复。
只需要在上面的函数的中 ‘echo‘ 声明用 ‘return‘ 来替换
替换
php{echo $a+$b;
为
php{return$a+$b;
剩下的东西和原理仍然一样。
这里是一个样例,在该样例的输出结果中返回了正确的数据类型。
PHP函数
永远都记住,用户定义的函数不会从一个shell会话保留到下一个shell会话,因此,一旦你退出交互shell,它就会丢失了。
希望你喜欢此次教程。保持连线,你会获得更多此类文章。保持关注,保持健康。请在下面的评论中为我们提供有价值的反馈。点赞并分享,帮助我们扩散。
PHP 的详细介绍:请点这里
PHP 的下载地址:请点这里
本文由 LCTT 原创翻译,Linux中国 荣誉推出
linux php 指令,在 Linux 命令行中使用和执行 PHP 代码(一)相关推荐
- 在 Linux 命令行中使用和执行 PHP 代码(一)
PHP是一个开源服务器端脚本语言,最初这三个字母代表的是"Personal Home Page",而现在则代表的是"PHP:Hypertext Preprocessor& ...
- linux命令行安装 php_如何在 Linux 命令行中使用和执行 PHP 代码
PHP是一个开源服务器端脚本语言,最初这三个字母代表的是"Personal Home Page",而现在则代表的是"PHP:Hypertext Preprocessor& ...
- linux命令行的 是啥意思,linux是什么 Linux 命令行中的21是什么意思
50970"> Linux 命令行中的2>&1究竟是什么意思?linux是什么. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的 ...
- mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法
在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?, ...
- linux命令行 正则,在Linux命令行中使用正则表达式
上一节我们介绍过grep命令在搜索文本信息时的基本用法,其实,grep命令还可以配合正则表达式执行更加复杂的搜索操作. 本节我们将对如何在Linux命令行中使用正则表达式进行介绍. 所谓正则表达式,就 ...
- linux命令行中,双引号中的感叹号将被解释为历史命令
linux命令行中,双引号中的感叹号将被解释为历史命令. 命令: test -e ttt/ && echo "file exist!" || echo " ...
- linux裁剪图片的软件,ImageMagick教程:如何在Linux命令行中剪裁图像
问题:我想要去除图像文件中的白色空白,有没有什么便捷的方法能在Linux命令行中对图像文件进行剪裁? 当涉及到在Linux中转换或编辑图像文件时,ImageMagick毫无疑问是最为熟知的一体化软件之 ...
- linux命令行怎么播放,如何在在 Linux 命令行中观看彩虹猫
导读 在本系列文章中,我们将会探索一些娱乐用途(甚至有时完全没用)的 Linux 命令行小玩具.所有我们介绍的小玩具都是开源的. 你甚至可以在终端里欣赏彩虹猫. 也许你会问,它们都很独特吗?是的.不过 ...
- 在Linux系统的命令行中为MySQL创建用户的方法
这篇文章主要介绍了在Linux系统的命令行中为MySQL创建用户的方法,包括对所建用户的权限管理,需要的朋友可以参考下 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行.每个MySQ ...
最新文章
- python中forward的参数_如何将关键字参数传递给preforward钩子使用的forward?
- Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated
- 2、掌握C++基本语法
- 【安全漏洞】ProxyShell漏洞复现详解
- mongodb空间查询之查询单位
- Token 认证的来龙去脉,DRF认证,DRF权限,DRF限制
- MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
- .NET架构开发应知应会
- inputtextarea表单提示文字
- java编码规范试题_java编码规范考试题答案完整版.doc
- 苍井空详细介绍(婚后生活)
- 关于从asc格式到pcd格式的转换
- 关于我在《大话5G》这本书里学到了什么——5G和物联网不得不说的关系
- 计算机专业 外文数据库,计算机专业外文翻译+原文-数据库管理系统介绍
- 董文永武汉大学计算机学院,董文永 - 教师简历 CV- Computer School of Wuhan University...
- 图片分享和加载失败的原因之一
- 数理统计(三)-假设检验:显著性水平α、检验统计量、原假设、备择假设、拒绝域、临界点、第Ⅰ类错误、第Ⅱ类错误、【检验μ、检方差、检验分布】、临界值法【Z检验法、t检验法、卡方检验法、F检验法】、p值法
- 战地5离线bot模式_战地2怎么增加bot
- 通过access口加vlan标签吗_VLAN标签处理过程
- (加快设计)推荐一个SketchUp的3D模型库
热门文章
- CVE-2010-2883 从漏洞分析到样本分析
- linux php 升级5.3,Linux php5.2.10升级到PHP5.3.29
- 对c语言和程序设计基础的体会,C语言程序设计基础与应用
- onnx onnxruntime 预测
- python连接elasticsearch查询数据
- access violation reading 0x0000000000000020
- caffe 报错 Check failed: error == cudaSuccess (77 vs. 0) an illegal memory access was encounteredcaffe
- has invalid type class 'numpy.ndarray', must be a string or Tensor
- FILLED is not a menber of 'cv' in opencv2.4.9
- PMP-【第10章 项目沟通管理】-2021-2-16(220页-231页)