在 Linux 命令行中使用和执行 PHP 代码

澳门新葡亰赌995577 12

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

在上一篇文章“在 Linux 命令行中使用和执行 PHP
代码(一)”中,我同时着重讨论了直接在Linux命令行中运行PHP代码以及在Linux终端中执行PHP脚本文件。

澳门新葡亰赌995577 1

澳门新葡亰赌995577 2

在 Linux 命令行中运行 PHP 代码

本文旨在让你了解一些相当不错的Linux终端中的PHP交互性 shell 的用法特性。

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

让我们先在PHP 的交互shell中来对php.ini设置进行一些配置吧。

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

6. 设置PHP命令行提示符

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

要设置PHP命令行提示,你需要在Linux终端中使用下面的php
-a(启用PHP交互模式)命令开启一个PHP交互shell。

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

$ php -a
# apt-get install php5-cli          [Debian 及类似系统]
# yum install php-cli               [CentOS 及类似系统]

然后,设置任何东西(比如说Hi Tecmint
::)作为PHP交互shell的命令提示符,操作如下:

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

php > #cli.prompt=Hi Tecmint ::
# echo '<?php phpinfo(); ?>' > /var/www/html/infophp.php

澳门新葡亰赌995577 3

然后,将浏览器访问
,这将会在网络浏览器中打开该文件。

启用PHP交互Shell

澳门新葡亰赌995577 4

同时,你也可以设置当前时间作为你的命令行提示符,操作如下:

检查PHP信息

php > #cli.prompt=`echo date('H:m:s');` >

22:15:43 >

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

7. 每次输出一屏

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

在我们上一篇文章中,我们已经在原始命令中通过管道在很多地方使用了less命令。通过该操作,我们可以在那些不能一屏全部输出的地方获得分屏显示。但是,我们可以通过配置php.ini文件,设置pager的值为less以每次输出一屏,操作如下:

澳门新葡亰赌995577 5

$ php -a
php > #cli.pager=less

从命令行检查PHP信息

澳门新葡亰赌995577 6

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

限制PHP屏幕输出

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

这样,下次当你运行一个命令(比如说条调试器phpinfo();)的时候,而该命令的输出内容又太过庞大而不能固定在一屏,它就会自动产生适合你当前屏幕的输出结果。

澳门新葡亰赌995577 7

php > phpinfo();

检查所有PHP信息

澳门新葡亰赌995577 8

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

PHP信息输出

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

8. 建议和TAB补全

# php -r 'phpinfo();'

PHP
shell足够智能,它可以显示给你建议和进行TAB补全,你可以通过TAB键来使用该功能。如果对于你想要用TAB补全的字符串而言有多个选项,那么你需要使用两次TAB键来完成,其它情况则使用一次即可。

澳门新葡亰赌995577 9

如果有超过一个的可能性,请使用两次TAB键。

PHP调试工具

php > ZIP [TAB] [TAB]

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

如果只有一个可能性,只要使用一次TAB键。

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

php > #cli.pager [TAB]
# php -a

Interactive shell

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

你可以一直按TAB键来获得建议的补全,直到该值满足要求。所有的行为都将记录到~/.php-history文件。

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

要检查你的PHP交互shell活动日志,你可以执行:

澳门新葡亰赌995577 10

$ nano ~/.php_history | less

启用PHP交互模式

澳门新葡亰赌995577 11

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

检查PHP交互Shell日志

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

9. 你可以在PHP交互shell中使用颜色,你所需要知道的仅仅是颜色代码。

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

使用echo来打印各种颜色的输出结果,类似这样:

其次,让该脚本可执行:

php > echo "color_code1 TEXT second_color_code";
# chmod 755 phpscript.php

具体来说是:

接着来运行它,

php > echo "/033[0;31m Hi Tecmint /x1B[0m";
# ./phpscript.php

澳门新葡亰赌995577 12

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

在PHP Shell中启用彩色

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图