如何安装取决于静态库的自定义PHP扩展名



我环顾四周(最相关的是这个。)

我写了一个自定义的PHP扩展程序来包装静态lib(使用PGI构建)

它不是直截了当的,而是一般:

  • 下载的PHP Source
  • 使用教程编写扩展名
  • 导出ldflags =" - l/home/home/fstd_php/php-src/ext/fstd/lib-l/opt/pgi/linux86-64/libso/libso"
  • export libs =" -lrmn -lpgf90 -lpghpf2 -lpgf90rtl -lpgftnrtl -lpghpff_rpm-lpgcm -lpgc -lrt -lrt -lm"
  • 用扩展程序构建了PHP,它可以工作

有什么办法可以在Ubuntu上的PHP的预装版本中使用它?

该模块命名为FSTD

我尝试模仿其他模块的安装方式(任意选择Mongo),因此我在/etc/etc/php5/mods-abailable中添加了一个ini文件,然后添加了.SO中的.SO中找到了ext/fstd/modules/fstd.o so so so so进入/usr/lib/php5/20100525/

似乎在系统安装php的系统中没有工作。

所以我在php.ini中启用了_dl,并尝试包括.so。它似乎不包括因库。我得到:

matt@khea ...php-src/ext/fstd % php -f fstd.php
PHP Warning:  dl(): Unable to load dynamic library '/usr/lib/php5/20100525/fstd.so' - /usr/lib/php5/20100525/fstd.so: undefined symbol: c_fstfrm in /home/matt/fstd_php/php-src/ext/fstd/fstd.php on line 5

符号C_FSTFRM是我要包装的静态库中的符号。

那么,是否有适当的方法将其作为系统模块/扩展名进行安装?否则,要使用自定义扩展,我必须只使用自己构建的PHP版本和扩展版?

我永远无法弄清楚这一点,因此我将PHP构建为CGI,仅在需要的地方使用它(而不是对系统PHP安装做任何事情)

相关内容

  • 没有找到相关文章

最新更新