0

我想我已经按照安装说明进行操作,但显然我错过了一些东西。基本上,使用 php.ini 文件中的 DLL,我得到:

PHP 启动:无法加载动态库 'ext\wsf.dll'

没有它,一切都很好。以下是 phpinfo 的一些亮点:

PHP Version 5.4.6

extension_dirext ext ext

include_path: .;c:\php\includes;C:\PHP\wso2-wsf-php-bin-2.1.0-win32\scripts

小路 :

c:\php;C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\lib;c:\php\ext;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\DMIX;C:\Program Files (x86)\Windows Live\Shared;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Windows\idmu\common;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;



WSFC_HOME : C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c 

From the php.ini:
[wsf] 
wsf.home="C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c" 
wsf.log_path="C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\logs\" 
wsf.log_level=4 

wsf.rm_db_dir="C:\windows\temp\"

在尝试在 Process Monitor 中启动 PHP 时,我还观察了该过程。我看到 c:\php\ext\wsf.dll 已加载。然后它开始查找依赖项列表,沿着路径查找并在 lib 文件夹中找到大部分依赖项。

C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\lib\axutil.dll
C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\lib\axis2_engine.dll
C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\lib\axiom.dll
C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\lib\axis2_parser.dll
C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\lib\guththila.dll
C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\lib\neethi.dll
C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\lib\rampart.dll
C:\Windows\SysWOW64\libeay32.dll
C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\lib\neethi_util.dll
C:\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\lib\sandesha2_client.dll

写入错误日志:

[12-Sep-2012 12:48:12 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'ext\wsf.dll' - The specified procedure could not be found. in Unknown on line 0

继续:

C:\PHP\ext\php_xsl.dll

我看到的最后一件事是读取不存在的注册表项的一些失败尝试,Per Directory Values Key 就是它所追求的。

建议?

4

1 回答 1

1

恐怕 PHP 的 wso2 与 PHP 5.4 不兼容我尝试在 linux 上为 PHP 编译 wso2 扩展,并且仅在 PHP 5.3 上成功。Windows可能存在相同的问题。

您可以尝试将您的 PHP 降级到 5.3 版本并检查它是否可以在这种情况下工作。

由于以下原因,我还应该警告您不要在生产中使用此扩展:

  • 对他们的回购的最新承诺是近一年前做出的
  • 他们的JIRA也有一年左右没有进展
  • 在 jira 中被设置为该项目的项目经理的人似乎正在从事另一个项目
  • 他们没有响应 jira 中的错误报告
  • 这个扩展在 linux 上有已知的稳定性问题(检查 stackoverflow 或他们的 jira with keyworkds "wso2 php segmentation fault")

在最近的项目中,我们也应该使用 wso2 php 扩展,但经过一些研究,我们发现这个扩展不稳定并且不再受支持。不幸的是,目前我们不知道改用什么并寻找其他解决方案。

于 2012-09-13T14:14:51.813 回答