首先,这是关于php4Delphi而不是RadPHP(以前是PHP的Delphi)。

使用

  • 德尔福2010
  • PHP 5.3.6(VC9,NTS)
  • php4Delphi 7.2(与VC9指令一起编译)
  • Windows Server 2008 R2的
  • IIS 7

  • 尝试在IIS/PHP服务器上运行php4Delphi delphi_math.dll示例扩展名时,我在C:\Windows\Temp\php-errors.log文件中看到以下错误。



    我已经解决了PHP最初的问题,找不到扩展名,所以这不是路径样式问题。

    我认为php4Delphi 7.2可能不支持最新的PHP 5.3.6。有没有人让这种配置为他们工作?

    最佳答案

    PHP尝试在内部加载模块,但失败了,您是对的。

    问题不在于搜索路径,而是在于将非线程安全版本的php与php4delphi一起使用。当php加载扩展名时,它将从扩展名dll接收一些回调函数的列表,并将其用于与dll进行通信。线程安全版本和非线程安全版本php的回调函数的参数列表不同。

    php4delphi是为php的线程安全模型制作的。您可以在这里阅读TS和NTS版本之间的区别:IIS Aid。在这种特殊情况下,如果可能的话,我建议将非线程安全的PHP更改为线程安全的PHP。

    如果必须使用NTS PHP,则必须修改php4delphi的源代码,我认为在这种情况下需要进行很多更改。

    10-04 22:24