php自定义C++;模块从命令行工作,而不是在Web服务器上 我用C++和SWIG制作了一个自定义PHP模块。它可以从命令行工作,但不能与my webserver一起工作: php index.php php-cgi index.php
这两个都很好 我正在使用lighttpd和php。我没有以任何特殊的方式配置这些。我只是使用sudo apt get install安装了它们 不幸的是,如果我制作一个网页,我会得到以下信息:php自定义C++;模块从命令行工作,而不是在Web服务器上 我用C++和SWIG制作了一个自定义PHP模块。它可以从命令行工作,但不能与my webserver一起工作: php index.php php-cgi index.php,php,c++,zend-framework,swig,lighttpd,Php,C++,Zend Framework,Swig,Lighttpd,这两个都很好 我正在使用lighttpd和php。我没有以任何特殊的方式配置这些。我只是使用sudo apt get install安装了它们 不幸的是,如果我制作一个网页,我会得到以下信息: Fatal error: Call to undefined function minikey_to_wif() in /var/www/index.php on line 6 调用函数_exists(“minikey_to_wif”)也返回False phpinfo()不显示名为minikey的模块
Fatal error: Call to undefined function minikey_to_wif() in /var/www/index.php on line 6
调用函数_exists(“minikey_to_wif”)也返回False
phpinfo()不显示名为minikey的模块,而是显示与我编辑的文件相同的配置路径(/etc/php5/cgi/php.ini):
我还尝试将它复制到其他PHP扩展的安装位置(/usr/lib/php5/20090626+lfs/),但也没有成功
我已经停下来,启动lighttpd无数次了。每次运行ps aux | grep php时,都没有结果。我也重新启动了几次,但都没有效果。我不知道发生了什么事。OK找到了答案
扩展依赖于安装在非标准位置的库。通常我在~/.bashrc中设置LD_LIBRARY_路径。但是当web服务器运行扩展时,它没有环境变量
修复方法是使用/home/genjix/usr/lib在/etc/ld.so.conf.d/genjix.conf中创建一个文件,并以root用户身份运行ldconfig。尝试使用lighty运行phpinfo()。确保它指向正确的php.ini
如果您认为这是问题所在,您可以使用-c开关从lighttpd.conf内部启动php,并使用“bin path”=>“/path/to/php cgi-c/path/to/php.ini”
:
e、 g
也许是一个微不足道的提示,但您是否重新启动了Web服务器?您在命令行中测试test.php,在浏览器中测试index.php?是的,我重新启动了很多次,并且多次重新启动了我的计算机。
extension=/path/to/php-ext/minikey/minikey.so
fastcgi.server = (
".php" => (
(
"bin-path" => "/path/to/php-cgi -c /path/to/php.ini",
"socket" => "/tmp/php.socket",
"max-procs" => 4,
"idle-timeout" => 30,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "1000"
)
)
)
)