【问题标题】:XMLWriter is not loading in braintreeXMLWriter 未在 Braintree 中加载
【发布时间】:2017-10-17 09:38:56
【问题描述】:

我正在使用 Braintree 在我的网站上接受付款。但是当我尝试打开视图进行购买时,我收到了这个错误:

Braintree.php 第 20 行中的异常: Braintree 库需要 xmlwriter 扩展。

这是我的 Braintree.php 文件:

    <?php
/**
 * Braintree PHP Library
 * Creates class_aliases for old class names replaced by PSR-4 Namespaces
 *
 * @copyright  2015 Braintree, a division of PayPal, Inc.
 */

require_once(__DIR__ . DIRECTORY_SEPARATOR . 'autoload.php');

if (version_compare(PHP_VERSION, '5.4.0', '<')) {
    throw new Braintree_Exception('PHP version >= 5.4.0 required');
}


function requireDependencies() {
    $requiredExtensions = ['xmlwriter', 'openssl', 'dom', 'hash', 'curl'];
    foreach ($requiredExtensions AS $ext) {
        if (!extension_loaded($ext)) {
            throw new Braintree_Exception('The Braintree library requires the ' . $ext . ' extension.');
        }
    }
}

requireDependencies();

我已经检查了 xmlwriter 和 libxml 是否已启用并安装在我的项目中,并且一切都已解决。所以我不知道还能做什么。知道为什么会这样吗?

任何帮助都非常感谢:)

【问题讨论】:

    标签: php payment braintree lumen xmlwriter


    【解决方案1】:

    首先,确保安装了 XMLWriter PHP 模块

    sudo apt-get update

    sudo apt-get install php7.0-xml

    php -i | grep "xml"

    这应该显示xmlwriter这一行

    检查您的错误日志sudo cat /var/log/nginx/error.log

    如果有任何错误是failed to open stream,请检查您的路径是否正确。

    错误消息应该为您提供更多指导。

    【讨论】:

    • 好的。非常感谢:)
    • 如何检查路径?我的意思是,有很多目录。所有的扩展都在哪里?
    • @G.Rocha 当您访问您的braintree.php 文件时,这会在您的服务器日志中生成错误吗?你用的是什么设置? (我只是在我的回答中假设 nginx)
    • 如果运行 apache,请确保重启网络服务器 sudo service apache2 restart 以便实现更改。
    猜你喜欢
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多