Сообщения об ошибках PayPal на PHP 5.3.1 - PullRequest
0 голосов
/ 27 июля 2010

Я интегрирую PayPal в приложение, написанное на PHP и работающее на PHP 5.3.1 (с использованием Zend Engine 2.3.0). Каждый раз, когда мне требуется файл PayPal SDK или любой другой метод, он выводит огромное количество сообщений об ошибках и предупреждений. Я, очевидно, хочу, чтобы сообщение об ошибке было максимально возможным (по крайней мере, для моего кода).

Моя проблема похожа на эту (я этого не писал) https://www.x.com/message/167121#167121

Я обеспокоен возможными проблемами безопасности и очевидным раздражающим количеством сообщений, поступающих в журнал.

У вас есть идеи, как это исправить / обойти?

Спасибо:)

EDIT: Образец из списка предупреждений (их больше):

В качестве примера (но есть и другие):

Строгие Стандарты: Назначение возврата Значение нового по ссылке не рекомендуется в (...) / PayPal.php на линии 87

Строгие Стандарты: Назначение возврата Значение нового по ссылке не рекомендуется в (...) / PayPal.php на линии 115

Строгие стандарты: декларация PayPal :: riseError () должен быть совместим с этим из PEAR :: riseError () in (...) / PayPal.php по линии 198

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / Hack.php в линия 78

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Value.php в строке 90

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Value.php в строке 93

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Base.php в строке 221

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Base.php в строке 514

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Base.php в строке 616

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Base.php в строке 617

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Base.php в строке 760

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Base.php в строке 897

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Base.php на линии 1055

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Base.php на линии 1083

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Base.php на линии 1109

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Base.php на линии 1151

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / SOAP / Base.php на линии 1176

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / Type / XSDType.php на линии 97

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / Type / XSDType.php на линии 110

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / Type / XSDType.php на линии 112

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / Профиль / Handler / Array.php по линии 53

Строгие Стандарты: Назначение возврата Значение нового по ссылке устарел в (...) / PayPal / Профиль / API.php на линии 256

Строгие стандарты: назначение возвращаемого значения нового по ссылке не рекомендуется в (...) / PayPal / Type / XSDSimpleType.php в строке 69

Строгие стандарты: назначение возвращаемого значения нового по ссылкене рекомендуется в (...) / PayPal / Type / XSDSimpleType.php в строке 71

Строгие стандарты. Присвоение возвращаемого значения new по ссылке не рекомендуется в (...) / PayPal / Type / XSDSimpleType.php в строке 98

Строгие стандарты: Назначение возвращаемого значения нового по ссылке не рекомендуется в (...) / PayPal / Type / XSDSimpleType.php в строке 111

Строгие стандарты:Присвоение возвращаемого значения new по ссылке не рекомендуется в (...) / PayPal / Type / XSDSimpleType.php в строке 113

1 Ответ

2 голосов
/ 28 июля 2010

Я полагаю, что PayPal Code - это внешняя библиотека из пакета PEAR, которую вы используете, которая не соответствует 5.3. Там довольно много кода, который страдает от этой проблемы.

Предполагая, что вы не хотите изменять этот Код и отправлять его обратно (;)), вы можете сделать не так много.

Назовите первые два, которые приходят на ум:

В вашем коде обертки для доступа к Paypal включайте E_STRICT каждый раз перед вызовом и снова включайте его. Э.Г.

<?php
class myPayPalWrapper { 
    public function doX() { 
         $x = error_reporting(E_ALL & ~E_STRICT); # or something
         $this->externalPaypalClass->doX();
         error_reporting($x);
    }
}

выглядит не очень красиво и требует много кода.

Если вы уже используете собственный обработчик ошибок в своем проекте, вы можете расширить его, чтобы отфильтровать все ошибки этой библиотеки. Э.Г.

<?php
function myErrorHandler($iErrno, $sErrstr, $sErrfile, $iErrline) {
    if(error_reporting() & $iErrno) {
        if(strpos("libFolder/paypal", $sErrfile) !== false) {
            return true;
        }
    }
    return false;
}

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...