【问题标题】:PHP not loading custom extensionPHP没有加载自定义扩展
【发布时间】:2010-08-11 16:54:31
【问题描述】:

我正在用 PHP 编写一个自定义扩展并将扩展加载到 php.ini 文件中。使用命令行界面时,扩展加载并运行良好,但它不会加载到 Web 服务器(带有 FastCGI 的 Cherokee)中。为了在被问到之前阻止一些问题,我肯定使用了正确的 php.ini 文件,并且我已经正确设置了 extension_dir 的值。即使我指定了加载扩展的完整路径,它也不起作用。

所以我想知道我可以做些什么来解决这个问题。我怀疑这可能是由于外部依赖,因为在我将它链接到几个共享库之前,扩展加载得很好。但是,我在 /var/log/cherokee/cherokee.error 中没有看到任何问题的迹象。关于如何确定问题的任何其他想法?

【问题讨论】:

  • 尝试为其他扩展名之一移动或重命名其中一个 .so 文件。那你看到错误了吗?如果不是,则错误日志记录出现问题。另外,您使用的是哪个版本的 PHP?您可能希望考虑升级到 5.3.3,其中包括漂亮的“FPM”FastCGI 实现。关于共享库,您是否确保它们位于可找到的位置?我认为有问题的环境变量是LD_LIBRARY_PATH 什么的......
  • 您的意思是日志中没有错误提示无法加载扩展程序?
  • 没有错误,但我意识到这是因为在php.ini中没有设置error_log。将其设置为 syslog 后,我现在看到扩展没有加载,因为它是 32 位的,而 PHP 和 Cherokee 是 64 位的。我正在将这些重建为 32 位。感谢您的帮助。

标签: php php-extension cherokee


【解决方案1】:

好的,在将 PHP 和 Cherokee 重建为 32 位(并修复了切换到 32 位后出现的错误)之后,我已经让它工作了。再次感谢。

【讨论】:

    猜你喜欢
    • 2015-08-18
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 2017-01-20
    • 2019-09-09
    • 1970-01-01
    相关资源
    最近更新 更多