PHP 5.3.1上的PayPal错误消息

时间:2010-07-27 15:52:56

标签: php paypal

我正在将PayPal集成到用PHP编写并在PHP 5.3.1上运行的应用程序中(使用Zend Engine 2.3.0)。 每当我需要PayPal SDK文件或使用任何方法时,它都会打印出大量的错误和警告消息。 我显然希望尽可能保持错误消息报告(至少对于我的代码而言)。

我的问题与此类似(我没有写过)https://www.x.com/message/167121#167121

我担心可能出现的安全问题以及显而易见的大量消息都会进入日志。

你知道如何修复/解决这个问题吗?

谢谢:)

编辑: 警告列表中的示例(还有更多):

作为一个例子(但还有更多):

  

严格标准:分配回报   新的参考价值是   在(...)/ PayPal.php上弃用   87

     

严格标准:分配回报   新的参考价值是   在(...)/ PayPal.php上弃用   115

     

严格标准:宣言   PayPal :: raiseError()应该是   兼容的   (...)/ PayPal.php中的PEAR :: raiseError()   在第198行

     

严格标准:分配回报   新的参考价值是   在(...)/ PayPal / Hack.php中弃用   第78行

     

严格标准:分配回报   新的参考价值是   不推荐使用   (...)/第90行的PayPal / SOAP / Value.php

     

严格标准:分配回报   新的参考价值是   不推荐使用   (...)/第93行的PayPal / SOAP / Value.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

     

严格标准:分配回报   新的参考价值是   不推荐使用   (...)/ 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

     

严格标准:分配回报   新的参考价值是   不推荐使用   (...)/贝宝/资料/处理器/ Array.php   第53行

     

严格标准:分配回报   新的参考价值是   不推荐使用   (...)/ PayPal / Profile / API.php在线   256

     

严格标准:分配回报   新的参考价值是   不推荐使用   (...)/ PayPal / Type / XSDSimpleType.php on   第69行

     

严格标准:分配回报   新的参考价值是   不推荐使用   (...)/ PayPal / Type / XSDSimpleType.php on   第71行

     

严格标准:分配回报   新的参考价值是   不推荐使用   (...)/ PayPal / Type / XSDSimpleType.php on   第98行

     

严格标准:分配回报   新的参考价值是   不推荐使用   (...)/ PayPal / Type / XSDSimpleType.php on   第111行

     

严格标准:分配回报   新的参考价值是   不推荐使用   (...)/ PayPal / Type / XSDSimpleType.php on   第113行

1 个答案:

答案 0 :(得分:2)

我认为PayPal代码是来自PEAR包的外部库,您使用的不是5.3严格可比。有一些代码遭遇了这个问题。

假设您不想更改该代码并将其提交回(;)),您可以做的事情并不多。

列举我想到的前两个:

在你的包装器代码中,每次在呼叫之前返回E_STRICT,然后重新开启。 E.g。

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

看起来不太漂亮,需要大量的代码。

如果您已经在项目中使用自定义错误处理程序,则可以扩展它以过滤掉该lib的所有错误。 E.g。

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

希望有所帮助