如何编写一个php文件,如何编写一个PHP解释器文件

什么是解释器

概念

解释器文件是一种文本文件,它第一行的形式为:#! pathname [optional-argument]在#!和 pathname 之间的空格不是必要的,可以根据需求选择有无。pathname 指的是绝对路径名,[optional-argument] 指的是可选参数。

PHP脚本执行程序

在linux中,我们来执行php程序,一般是使用命令php xxxx.php 这样来执行,接下来我们编写这样一个程序运行一下,而下面这个图片则是在linux下运行php脚本的过程

3acf8ce31032de5a52e8d21fb77afee1.png

解释器文件

上面介绍了解释器文件的概念以及书写形式,接下来咱们编写一个php解释器文件

1、查找linux中,你安装的php可执行文件,如果是编译安装的相信大家都能找到,如果不是编译安装的,大家可以通过whereis php 这个命令来查看,我这里不是编译安装的,所以先查看一下本地的php可执行文件的路径

3108da647cb655d784fc75a9a8e25e95.png

因为不是编译安装的,所以大家看到查出来很多个,但正常的一般都安装在/usr/bin/php 目录下

2、编写可执行文件

1b721a14c370f0da3db08a97487ef318.png

3、编写好可执行文件后,要查看编写文件的权限,如果没有可执行权限,要给可执行权限

8c241d510f7fa9bef3bd62edfc7eebe1.png

3e4e16d3b204ab265dd7e2eb801a2748.png

4、当给可执行的权限后,我们就可以执行这个文件了

9b20daf664c4b63ad1b5815eba026995.png

通过以上两种方式,我们都可以得到我们想要的结果。而解释器最大的好处就是使用户得到效率方面的好处,其代价是内核的额外开销(因为识别解释器文件的是内核)

扩展

在PHP中,我们有没有见到过这样的可执行文件呢,答案肯定是见到过。首先在easyswoole的脚本文件中,我们也会看到所谓的解释器文件,那么他是用来干什么的呢?

#!/usr/bin/env php

$file = null;

foreach ([__DIR__ . '/./vendor/bin/easyswoole', __DIR__ . '/./bin/easyswoole'] as $file) {

if (file_exists($file)) {

require $file;

break;

}

}

if(!file_exists($file)){

die("include /vendor/bin/easyswoole fail\n");

}

通过上面编写解释器文件的过程,想必大家也能猜出来

首先就是查找linux系统中,安装的PHP,也就是找到对应的php可执行文件

其次就是为了兼容用户的程序,使代码具有扩展性

通过这篇文章,希望大家下次见到这种格式的代码不会在懵逼了哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值