gpt4 book ai didi

php 自定义 C++ 模块从命令行工作,而不是在网络服务器上工作

转载 作者:行者123 更新时间:2023-11-28 03:34:21 26 4
gpt4 key购买 nike

我用 C++ 和 Swig 制作了一个自定义 PHP 模块。它可以从命令行运行,但不适用于我的网络服务器:

php index.php
php-cgi index.php

这两个都很好。

我正在使用 lighttpd 和 php。我没有以任何特殊方式配置这些。我只是使用 sudo apt-get install 安装了它们。

不幸的是,如果我制作一个网页,我会得到这个:

Fatal error: Call to undefined function minikey_to_wif() in /var/www/index.php on line 6 

调用 function_exists("minikey_to_wif") 也会返回 False。

phpinfo() 没有显示我的名为 minikey 的模块,并显示与我编辑的文件相同的配置路径(/etc/php5/cgi/php.ini):

extension=/path/to/php-ext/minikey/minikey.so

我也尝试将它复制到似乎安装了其他 PHP 扩展的位置 (/usr/lib/php5/20090626+lfs/),但这也没有用。

我无数次停止并启动 lig​​httpd。每次,当我运行 ps aux | grep php,没有结果。我也重新启动了几次都没有效果。我不知道发生了什么事。

最佳答案

确定找到答案。

该扩展依赖于安装在非标准位置的库。通常我在 ~/.bashrc 中设置 LD_LIBRARY_PATH。但是当 Web 服务器运行扩展时,它没有那个环境变量。

修复是在/etc/ld.so.conf.d/genjix.conf 中创建一个文件,其中包含/home/genjix/usr/lib 并以 root 身份运行 ldconfig。

关于php 自定义 C++ 模块从命令行工作,而不是在网络服务器上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11525163/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com