php-cpp的效能提升如何測試

allenplay 发布于 2015/02/13 10:57
阅读 324
收藏 1

@andot 你好,想跟你请教兩个问题:

我將編譯完的hprose.so和libphpcpp.so皆已掛至php,但我要如何確認php-cpp是有掛載成功?

另外,在您的說明文件,若以php-cpp的方式執行,效能會有不幅度的提升,請問我該如何去測試?

我的运行環境如下:

Centos 7

gcc4.82

php5.4.16

apache 2.46 

加载中
0
andot
andot
通过 phpinfo() 就可以看到 hprose 扩展是否已经启动。性能提升的测试,你可以写一个客户端调用服务器端的例子,加上计时代码,在开启扩展前后分别测一下,就可以看出来了。
0
a
allenplay

引用来自“andot”的评论

通过 phpinfo() 就可以看到 hprose 扩展是否已经启动。性能提升的测试,你可以写一个客户端调用服务器端的例子,加上计时代码,在开启扩展前后分别测一下,就可以看出来了。
我重啟服務時,出現下列錯誤訊息,是表示沒掛載成功?

Starting php-fpm: [02-Mar-2015 07:32:58] NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/hprose.so' - libphpcpp.so: cannot open shared object file: No such file or directory in Unknown on line 0
[02-Mar-2015 07:32:58] NOTICE: PHP message: PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) 'libphpcpp.so' in Unknown on line 0

0
andot
andot

libphpcpp.so 这个不是php的模块,不需要加载以 ext 的方式加载到 php 中。

0
a
allenplay

引用来自“andot”的评论

libphpcpp.so 这个不是php的模块,不需要加载以 ext 的方式加载到 php 中。

我換了另外一個主機環境,我新主機環境:

CentOS6.6

gcc version 4.8.2 20140120 (Red Hat 4.8.2-15)

php 5.5.22

nginx version: nginx/1.6.2

也把libphpcpp.so從ext拿掉了,依然有下列警告訊息


Starting php-fpm: [10-Mar-2015 02:43:48] NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/hprose.so' - libphpcpp.so: cannot open shared object file: No such file or directory in Unknown on line 0

0
andot
andot
你编译的时候是采用的动态链接库的方式编译的,而libphpcpp.so并没有在/usr/lib 中,所以启动的时候找不到,你把libphpcpp.so放到/usr/lib 下就可以了。默认用 sudo make install安装的时候,应该会自动安装到那个目录下面的。
0
a
allenplay

引用来自“andot”的评论

你编译的时候是采用的动态链接库的方式编译的,而libphpcpp.so并没有在/usr/lib 中,所以启动的时候找不到,你把libphpcpp.so放到/usr/lib 下就可以了。默认用 sudo make install安装的时候,应该会自动安装到那个目录下面的。
我看了一下,/usr/lib/之下,有libphpcpp.so和libphpcpp.a兩個檔案,我試著將原本的檔案進行覆蓋,仍然有一樣的問題。
0
andot
andot
你在编译hprose的时候,先把libphpcpp.so删掉,这样编译的时候就连接静态库了,载入的时候,就不需要依赖libphpcpp.so了。
0
andot
andot

现在 pecl 版本的 hprose 扩展已经出来了,直接通过 pecl install hprose 就可以了。同时 hprose 的 PHP 版本也更新了。使用更简单,只需要 include或require 一个 Hprose.php 就可以了。新的 pecl 版本的hprose 扩展速度比 php-cpp 版本的快几十倍,而且使用更简单,所以建议就不用折腾 PHP-CPP 版本了。

返回顶部
顶部