在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

作者:神秘网友 发布时间:2021-03-02 18:31:08

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

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

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

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

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

6. 设置PHP命令行提示符

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

$ php -a

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

php  #cli.prompt=Hi Tecmint ::

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

启用PHP交互Shell

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

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

22:15:43 

7. 每次输出一屏

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

$ php -a
php  #cli.pager=less

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

限制PHP屏幕输出

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

php  phpinfo();

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

PHP信息输出

8. 建议和TAB补全

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

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

php  ZIP [TAB] [TAB]

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

php  #cli.pager [TAB]

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

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

$ nano ~/.php_history | less

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

检查PHP交互Shell日志

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

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

php  echo "color_code1 TEXT second_color_code";

具体来说是:

php  echo "\033[0;31m Hi Tecmint \x1B[0m";

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

在PHP Shell中启用彩色

到目前为止,我们已经看到,按回车键意味着执行命令,然而PHP Shell中各个命令结尾的分号是必须的。

10. 在PHP shell中用basename()输出路径中最后一部分

PHP shell中的basename函数可以从给出的包含有到文件或目录路径的最后部分。

basename()样例#1和#2。

php  echo basename("/var/www/html/wp/wp-content/plugins");
php  echo basename("www.tecmint.com/contact-us.html");

上述两个样例将输出:

plugins
contact-us.html

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

在PHP中打印基本名称

11. 你可以使用PHP交互shell在你的桌面创建文件(比如说test1.txt),就像下面这么简单

php touch("/home/avi/Desktop/test1.txt");

我们已经见识了PHP交互shell在数学运算中有多优秀,这里还有更多一些例子会令你吃惊。

12. 使用PHP交互shell打印比如像tecmint.com这样的字符串的长度

strlen函数用于获取指定字符串的长度。

php  echo strlen("tecmint.com");

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

在PHP中打印字符串长度

13. PHP交互shell可以对数组排序,是的,你没听错

声明变量a,并将其值设置为array(7,9,2,5,10)。

php  $a=array(7,9,2,5,10);

对数组中的数字进行排序。

php  sort($a);

以排序后的顺序打印数组中的数字,同时打印序号,第一个为[0]。

php  print_r($a);
Array
(
    [0] = 2
    [1] = 5
    [2] = 7
    [3] = 9
    [4] = 10
)

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

在PHP中对数组排序

14. 在PHP交互Shell中获取的值

php  echo pi();

3.1415926535898

15. 打印某个数比如32的平方根

php  echo sqrt(150);

12.247448713916

16. 从0-10的范围内挑选一个随机数

php  echo rand(0, 10);

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

在PHP中获取随机数

17. 获取某个指定字符串的md5校验和sha1校验,例如,让我们在PHP Shell中检查某个字符串(比如说avi)的md5校验和sha1校验,并交叉校验bash shell生成的md5校验和sha1校验的结果。

php  echo md5(avi);
3fca379b3f0e322b7b7967bfcfb948ad

php  echo sha1(avi);
8f920f22884d6fea9df883843c4a8095a2e5ac6f

$ echo -n avi | md5sum
3fca379b3f0e322b7b7967bfcfb948ad  -

$ echo -n avi | sha1sum
8f920f22884d6fea9df883843c4a8095a2e5ac6f  -

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法

在PHP中检查md5校验和sha1校验

这里只是PHP Shell中所能获取的功能和PHP Shell的交互特性的惊鸿一瞥,这些就是到现在为止我所讨论的一切。保持连线,在评论中为我们提供你有价值的反馈吧。为我们点赞并分享,帮助我们扩散哦。


via: http://www.tecmint.com/execute-php-codes-functions-in-linux-commandline/

作者:Avishek Kumar 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,跳墙网 荣誉推出


本文章教程介绍完毕,更多请访问跳墙网其他文章教程!

在 Linux 命令行中使用和执行 PHP 代码(二)12 个 PHP 交互性 shell 的用法 相关文章

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

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

  2. 谈谈为 Linux 内核写驱动的编码规范

    最近在向Linux内核提交一些驱动程序,在提交的过程中,发现自己的代码离Linux内核的coding style要求还是差很多。当初自己对内核文档里的CodingStyle一文只是粗略的浏览,真正写代码的时候在很多细节上会照顾不周。不过,在不遵守规则的程序员队伍里,我并不

  3. systemctl 命令完全指南

    Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。 Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。 在Linux生态系统中,Systemd被部署到了大多数的标准Linux

  4. 如何向 Linux 内核提交驱动

    当Linux驱动程序开发到一定阶段,向kernel.org提交代码是一个很好的选择。对于很多没有向上游提交过代码的开发者来说,还是有很多疑问需要解决的。比如,究竟我们向哪里提交驱动程序?提交时我们的代码应该处于什么状态?提交的过程又如何呢? 向哪里提交 Li

  5. 如何分析 Linux 日志

    日志中有大量的信息需要你处理,尽管有时候想要提取并非想象中的容易。在这篇文章中我们会介绍一些你现在就能做的基本日志分析例子(只需要搜索即可)。我们还将涉及一些更高级的分析,但这些需要你前期努力做出适当的设置,后期就能节省很多时间。对数据进

  6. 关于Linux防火墙'iptables'的面试问答

    Nishita Agarwal是Tecmint的用户,她将分享关于她刚刚经历的一家公司(印度的一家私人公司Pune)的面试经验。在面试中她被问及许多不同的问题,但她是iptables方面的专家,因此她想分享这些关于iptables的问题和相应的答案给那些以后可能会进行相关面试的人

  7. 在 Linux 下使用 rfkill 软开关蓝牙及无线功能

    很多计算机系统包含无线电传输,其中包括Wi-Fi、蓝牙和3G设备。这些设备消耗电源,在不使用这些设备时是一种能源浪费。 RFKill是Linux内核中的一个子系统,它可提供一个接口,在此接口中可查询、激活并取消激活计算机系统中的无线电传输。当取消激活传输时,

  8. 打造一个全命令行的Android构建系统

    "IDE都是给小白程序员的,大牛级别的程序员一定是命令行控,终端控,你看大牛都是使用vim,emacs 就一切搞定" 这话说的虽然有些绝对,但是也不无道理,做开发这行要想效率高,自动化还真是缺少不了命令行工具,因为只有命令行才是最佳的人机交互工具。其实IDE

  9. 轻松使用“Explain Shell”脚本来理解 Shell 命令

    我们在Linux上工作时,每个人都会遇到需要查找shell命令的帮助信息的时候。 尽管内置的帮助像man pages、whatis命令有所助益, 但man pages的输出非常冗长, 除非是个有linux经验的人,不然从大量的man pages中获取帮助信息是非常困难的,而whatis命令的输出

  10. 使用 Find 命令来帮你找到那些需要清理的文件

    Credit: Sandra H-S 有一个问题几乎困扰着所有的文件系统 -- 包括 Unix 和其他的 -- 那就是文件的不断积累。几乎没有人愿意花时间清理掉他们不再使用的文件和整理文件系统,结果,文件变得很混乱,很难找到有用的东西,要使它们运行良好、维护备份、易于管理

每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2020, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词