我试图连接到SnelStart,来自荷兰的会计软件的网关。为此,我通过具有管理员权限的命令提示符调用regsvr32 SnelStartGateWay.dll
来注册名为SnelStartGateWay.dll的网关DLL。PHP COM通过CLI工作,但不通过HTTP
下面是一段简单的我的PHP代码:
$gw = new COM('SnelStartGateWay.clsGWaySnelStart');
$gw->mtdGWayAdmiOpenen('D:\SnelStart', 'SnelStart Voorbeeldbedrijf');
当我运行从附带在同一台电脑上我的XAMPP安装的,那是我安装和注册SnelStart的PHP命令提示符这段代码和网关,没有发生错误,我甚至可以继续通过网关创建新的客户和订单。
然而,当我运行通过HTTP阿帕奇来自同一XAMPP安装完全相同的PHP文件(这是我希望能够达到最终),我收到以下错误:
<br />
<b>Fatal error</b>: Uncaught exception 'com_exception' with message '<b>Source:</b> SnelStart
mtdGWayAdmiOpenen<br/><b>Description:</b> U kunt alleen gebruik maken van SnelStart Gateway als deze module geregistreerd is. Het registreren en gebruiken van SnelStart Gateway is gratis. Vraag een gratis registratie aan via [email protected] (vergeet niet uw naam en adresgegevens te vermelden).' in D:\xampp\htdocs\snelstart.php:7
Stack trace:
#0 D:\xampp\htdocs\snelstart.php(7): com->mtdGWayAdmiOpenen('D:\SnelStart', 'SnelStart Voorb...')
#1 {main}
thrown in <b>D:\xampp\htdocs\snelstart.php</b> on line <b>7</b><br />
虽然部分错误信息是荷兰语,它表示您需要注册网关并在软件中启用它。但有趣的是,它通过CLI而没有麻烦。
我需要改变PHP通过HTTP运行的方式是否与通过CLI运行时的权限相同?这可能是地方权利的问题吗?
我也已经尝试禁用我的防火墙和反病毒,但迄今没有任何运气。
在此先感谢。
一个后续问题:我已经检查并确认CLI和HTTP使用相同的php.ini,我可以停止在我的php.ini中搜索问题还是应该检查那里的任何值? 顺便说一句: safe_mode =关闭 和open_basedir似乎被禁用在我的php.ini,我也可以排除这作为一个可能的原因吗? –
该软件运行在我已输入软件的试用许可证上。但是,如果许可证有任何问题,为什么我可以通过CLI而不是通过HTTP运行脚本? –
“进入软件”是什么意思? “软件”(哪个软件?php代码?某些dll安装程序?)在哪里存储您输入的信息?显然CLI/HTTP最终使用不同的代码路径。你将不得不找出差异。 – mvds