2015-05-11 3 views
1

Я получаю следующее сообщение об ошибке все внезапнокласса «String» не найдена ошибка в PayPal ядра SDK

Fatal error: Class 'string' not found in \vendor\paypal\sdk-core-php\lib\PayPal\Common\PPModel.php on line 51

ли обновить что-либо изменить в недавнем Wordpress?

+0

Почему обновление WordPress нарушает установленную композитором версию SDK PayPal? Я не понимаю, почему вы приносите WP. – ceejayoz

+0

Сайт не изменился последние 3 года. Единственное, что изменилось, это версия WP недавно, а затем она распалась на Paypal Checkout. –

ответ

2

Приблизительно в марте 2015 года PayPal сделал некоторые изменения с помощью PHP-SDK 1.0.0 Часть этого изменения переименовывала некоторые классы; PPModel.php был изменен на PayPalModel.php

Было переименовано много других файлов. Вот ссылка на все взломанные изменения.

https://github.com/paypal/PayPal-PHP-SDK/wiki/Breaking-Changes---1.0.0

Вы, вероятно, будет намного больше работы, кроме всего PPModel. Я знаю, что у меня было , чтобы изменить 23 файла и 73 строки кода. Это , потому что многие файлы классов были переименованы.

+0

Это не объясняет данное сообщение об ошибке. – IMSoP

+0

Это была проблема. Я только что обновил SDK Paypal REST API, а затем мне пришлось изменить мой код paypal.php для соответствия новым классам. –

0

Ну, я не знаю, почему он начал прямо сейчас происходит с вами, но я вижу ошибку:

пара старых закрытых ошибок (#7, #34) упоминают Zend Optimizer, который теперь известен как OpCache, которая вполне могла бы быть ваша виновник - это имеет пару настроек opcache.save_comments and opcache.load_comments, который должен быть установлен в положение Вкл., Чтобы сохранить докблоки (/** ... */ комментариев) в памяти. Поскольку аннотации, на которые опирается SDK, находятся в таких докблоках, если вы установили OpCache или изменили значение этого параметра, ваше приложение сломается.

+0

Ваш ответ выглядит очень логичным и близким к тому, что я понял при поиске на разных форумах, и видел здесь http://stackoverflow.com/questions/24220031/paypal-rest-api-issue-in-ppmodel-php-online- 51 Однако вы можете предложить мне, как отключить или дать мне какие-либо указания, чтобы исправить этот оптимизатор Zend или проблему OpCache? –

+0

@WaliHassan Является ли ссылка на две директивы INI недостаточно указательными? Или, если вы посмотрите [выше на ту же страницу руководства] (http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable), вы увидите настройку, чтобы полностью отключить ее (хотя это не должно быть необходимым и просто замедлит ваш код). – IMSoP

+0

Я согласен, что вы правы, но просто проверили мой сервер, и я не вижу установленного opcache. единственное, что установлено, - ionCube. php -v PHP 5.3.29 (cli) (построено: 11 января 2015 г. 05:19:17) Copyright (c) 1997-2014 PHP Group Zend Engine v2.3.0, Copyright (c) 1998- 2014 Zend Technologies с ionCube PHP Loader v4.6.1, Copyright (c) 2002-2014, by ionCube Ltd. и с Zend Guard Loader v3.3, Copyright (c) 1998-2010, Zend Technologies' –

Смежные вопросы