【问题标题】:PHP Warning: PHP Startup: Invalid library (maybe not a PHP library)PHP 警告:PHP 启动:无效库(可能不是 PHP 库)
【发布时间】:2011-09-02 13:13:35
【问题描述】:

过去我确实创建了一个共享库,现在我想在 php 扩展中使用它。有可能这样做吗?正如我在config.m4 文件中看到的,PHP_NEW_EXTENSION() 要求提供 .cc 。问题是我不想公开我的代码。我只想使用我在 ubuntu 下的 c 中创建的标题和共享库。对于 php 扩展,我确实创建了一个:config.m4, php_c.h and php_c.cc.

请帮忙!感谢感谢 我确实在配置文件中输入了这个:

libs=mylib.so; 
PHP_ADD_LIBRARY_WITH_PATH(libs, $EXTERNAL_LIB_DIR, ?? what to add here);

我得到以下信息:

PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) '/home/foder/mylib.so'in Unknown on line 0

php:符号查找错误:

/usr/php5/20090626+lfs/vehicles.so: undefined symbol: _ZN3CarC1Ei (where vehicles.so) is a php so created with: phpize, ./configure --enable-vehicle make..

【问题讨论】:

标签: php c++ ubuntu php-extension


【解决方案1】:
PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) '/home/foder/mylib.so'in Unknown on line 0

此消息表示“.so”中没有“get_module”函数。
确保 PHP 扩展源包含以下行:

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#ifdef COMPILE_DL_MYLIB
ZEND_GET_MODULE(mylib)
#endif

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-27
    相关资源
    最近更新 更多