是否有使用PHPV7.0运行的PSWebServiceLibrary.php版本?
我有一个在Prestashop 1.6.1.5上运行的站点A,为了在另一个也在Prestashop 1.6.1.5下运行的站点(站点B)上检索数据,我使用了一个模块“自制”(由我的前任开发),该模块使用pswebserviceclibrary.php。 当我在站点B上更改PHP的版本(从5.6版更改为7.0版)并希望在站点A上使用该模块时,我出现了一些错误,包括pswebserviceclibrary.PHP 因此,我有以下错误消息: 致命错误:未捕获异常“PrestaShopWebserviceException”并显示消息 '对PrestaShop Web服务的调用失败,返回的HTTP状态为500。这意味着:内部服务器错误。在www.ndd.fr/pswebserviceclibrary.php:95中 堆栈跟踪: 如果我回到版本5.6,我没有问题,模块工作正常。 这是一个与PHP版本7相关的问题。 是否有与PHPV7.0兼容的PSWebServiceLibrary.php版本?是否有使用PHPV7.0运行的PSWebServiceLibrary.php版本?,php,smarty,prestashop-1.6,Php,Smarty,Prestashop 1.6,我有一个在Prestashop 1.6.1.5上运行的站点A,为了在另一个也在Prestashop 1.6.1.5下运行的站点(站点B)上检索数据,我使用了一个模块“自制”(由我的前任开发),该模块使用pswebserviceclibrary.php。 当我在站点B上更改PHP的版本(从5.6版更改为7.0版)并希望在站点A上使用该模块时,我出现了一些错误,包括pswebserviceclibrary.PHP 因此,我有以下错误消息: 致命错误:未捕获异常“PrestaShopWebservic
提前感谢您的帮助,因为我是PHP的初学者。事实上,PrestaShop 1.6.1.5并不与PHP 7.x正式兼容,但是,您应该能够轻松修复此错误:
if(count(self:$shopIDs)){
借
if(is_数组(self:$shopIDs)&&count(self:$shopIDs)){
如果它有效,您应该得到如下结果:
PrestaShopWebservice对象
(
[url:受保护]=>http://www.yourstore.com
[密钥:受保护]=>YOURWSKEYHERE
[调试:受保护]=>
[版本:受保护]=>未知
)
如果在此之后仍然出现500个错误:打开php.ini配置文件中的错误日志并检查错误日志。或者,您可以尝试在/config/defines.inc.php中将(PS)MODE(DEV)设置为true。对不起,布鲁诺。我在这两个站点上编辑了文件/classes/webservice/webservicequest.php和PSWebServiceLibrary.php(主站点和从站点)。然后,我创建并测试了文件test-ws.php(并键入从站点的URL和相应的密钥)。这很有效。然后,我在PHP7中打开了从站点,在主站点上运行模块,但它会犯同样的错误。
0 www.ndd.fr/PSWebServiceLibrary.php(297): PrestaShopWebservice->checkStatusCode(500)
1 www.ndd.fr/modules/orderlist/classes/orderArrayCreator.class.php(145): PrestaShopWebservice->get(Array)
2 www.ndd.fr/modules/orderlist/controllers/admin/AdminOrderList.php(125): orderArrayCreator->createDistantOrderArray()
3 www.ndd.fr/classes/controller/Controller.php(178): AdminOrderListController->postProcess()
4 www.ndd.fr/override/classes/Dispatcher.php(335): ControllerCore->run()
5 www.ndd.fr/override/classes/Dispatcher.php(107): Dispatcher->dispatch_16()
6 www.ndd.fr/admin/index.php(58): Dispatcher->dispatch()
7 {main} thrown in www.ndd.fr/PSWebServiceLibrary.php on line 95
<?php
require_once('./PSWebServiceLibrary.php');
try
{
$ws = new PrestaShopWebservice('http://www.yourstore.com', 'YOURWSKEYHERE', false);
echo '<pre>';
print_r($ws);
}
catch (PrestaShopWebserviceException $ex)
{
echo 'Error : '.$ex->getMessage();
}
?>