PHP的扩展库中调用了C的一个动态库
vim test.php
<?php
echo confirm_mymodule_complied("qwer1234");
?>
php-5.3.3中把dl去了 在php.ini中加入了
extension = mymodule.so
extension_dir = /usr/lib64/php/modules/重启apachectl restart在linux终端运行php test.php 成功
在浏览器中就显示 Tatal error:Call to undefined function confirm_mymodule_compiled()on line 4 confirm_mymodule_complied中调用了一个C的.so 库中的函数
如果不加该函数 浏览器显示成功 加入就显示上述错误 但是在终端用命令行运行是成功的哪位路过能说说是怎么回事????
终端命令和用浏览器显示有什么区别???
php扩展phpc终端浏览器
vim test.php
<?php
echo confirm_mymodule_complied("qwer1234");
?>
php-5.3.3中把dl去了 在php.ini中加入了
extension = mymodule.so
extension_dir = /usr/lib64/php/modules/重启apachectl restart在linux终端运行php test.php 成功
在浏览器中就显示 Tatal error:Call to undefined function confirm_mymodule_compiled()on line 4 confirm_mymodule_complied中调用了一个C的.so 库中的函数
如果不加该函数 浏览器显示成功 加入就显示上述错误 但是在终端用命令行运行是成功的哪位路过能说说是怎么回事????
终端命令和用浏览器显示有什么区别???
php扩展phpc终端浏览器
服务器不是根据php.ini这个文件去找扩展库的么 现在这个扩展库找得到 但是扩展库中的调用的函数(在/usr/lib64/file.so)找不到 但是用终端敲命令php 123.php却没有任何问题
查看两个重要信息:
1. web侧使用的php.ini文件路径
2. 是否成功加载了你的扩展(给你的扩展加个MINFO函数暴露信息出来).
这个问题解决了:
是路径问题,我把C动态库放到ld.so.conf.d制定路径下就好了......