苏南大叔继续描述swoole的相关扩展开发方式,就是phpx。不过,目测上,swoolephpx项目,已经是荒废的状态,以后还会不会更新维护,基本上大家可以保持观望态度。大家都知道:正统的php扩展是使用c语言编写的,而phpx的主要功能就是:使用c++来编写php扩展。那么,如何使用这么高大上的功能呢?本文将逐一为您道来:

swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展 - swoole_phpx
swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展(图7-1)

测试环境为:centos7宝塔@6.8.8php72swoole@4.2.12phpx@0.0.2

官方途径安装phpx

官方给出的安装文档是这样的:

swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展 - phpx-document
swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展(图7-2)

如果官方途径畅通的话,您可能需要下面的步骤:

vim ~/.bashrc

注意修改自定义/path/to/phpx,注意~/.bashrc中可能定义了PATH

export PHPX_ROOT=/path/to/phpx
export PATH=$PHPX_ROOT/bin:$PATH

注意source之后,.bashrc才能生效。(官方文档没说这事儿)

source ~/.bashrc

关键时刻掉链子,就这个地方掉链子了。下面的这个域名没解析,也没开启https。此路不通!

curl -sS https://swoole-cloud.com/phpx/installer.sh | sh

苏南大叔试了一下,基本上是没戏的。因为官方给出的install.sh都不能下载。所以,想走一键安装的途径就没戏了。期待什么时候,官方会发现这个问题并修复吧。

swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展 - phpx-error
swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展(图7-3)

github途径安装phpx

因为官方文档途径走不通,所以,苏南大叔尝试了一下github途径。通过github途径安装的phpx,也费了些力气才搞定。并不是github里面的phpxreadme.md里面,所说的那么简单。

swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展 - phpx-github
swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展(图7-4)

下面的是苏南大叔整理的步骤方法,下面的步骤,仅仅是个最理想状态下的命令行。如果出现了一些错误,也是非常正常的事情。那么请参考苏南大叔的后续文章。

git clone https://github.com/swoole/phpx.git
cd phpx
cmake .
make -j 4
sudo make install

swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展 - phpx-build-1
swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展(图7-5)

注意:上图中的PHP_INCLUDE_DIR如果显示不正确的话,就可以先暂停一下了。因为接下来的步骤,您肯定会碰到php.h文件无法找到的问题。具体的解决方案,请参考文末链接。

swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展 - phpx-build-2
swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展(图7-6)

如果一切顺利的话,上述步骤操作完成后,会在下面的位置得到一个libphpx.so文件。这个文件是以后每个phpx扩展的立足之本。如果没有这个文件的话,使用phpx编译php扩展的事情,就基本上是没戏的。

/usr/local/lib/libphpx.so

swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展 - phpx-build-3
swoole 的 phpx 如何编译安装?使用 cpp 编写 php 扩展(图7-7)

注意,这个libphpx.so文件,并不是php的扩展文件,也不会生成在php扩展目录下面,更不需要修改php.ini以启用这个文件,只需要让它乖乖的呆在/usr/local/lib/目录下面就好。

注意:生成文件之后,还需要执行一个特别的命令,否则的话,基于phpx的插件是不会编译成功的。这个命令就是:

newsn.net:这里是【评论】可见内容

总结

由于篇幅限制,本文就先说个phpx相关构建的开头。构建的过程,并不是一帆风顺的。大家都逃不过几个问题,因为这些问题是在官方的安装文档里面,没有提及的。

如果您愿意尝试一下phpx的话,就不妨看看本篇文章。如果,您处于一个观望的态度的话,苏南大叔个人建议您参考一下zephir,似乎更容易更靠谱一些。

如果您使用phpx的过程中,遇到了新的问题。不妨点击一下下面的链接,也许就有您的答案。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   php    swoole

本站的忠实读者小伙伴,正在阅读下面这些文章: