【问题标题】:Cannot install simplexml extension on ubuntu 16.04无法在 ubuntu 16.04 上安装 simplexml 扩展
【发布时间】:2022-01-24 17:01:51
【问题描述】:

我在 ubuntu 16.04 上运行 php5.6。我正在尝试按照 aws 的步骤将文件上传到 s3 存储桶。运行代码时出现此错误:

PHP Fatal error:  Class 'SimpleXMLElement' not found in .../vendor/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php on line 44
PHP Stack trace:
PHP   1. {main}() .../upload_to_s3.php:0
PHP   2. upload_to_s3() .../upload_to_s3.php:75
PHP   3. Aws\S3\S3Client->putObject() .../upload_to_s3.php:66
PHP   4. Aws\AwsClient->__call() .../upload_to_s3.php:66
PHP   5. Aws\AwsClient->execute() .../vendor/aws/aws-sdk-php/src/AwsClientTrait.php:86
PHP   6. GuzzleHttp\Promise\Promise->wait() .../vendor/aws/aws-sdk-php/src/AwsClientTrait.php:58
PHP   7. GuzzleHttp\Promise\Promise->waitIfPending() .../vendor/guzzlehttp/promises/src/Promise.php:62
PHP   8. GuzzleHttp\Promise\Promise->invokeWaitList() .../vendor/guzzlehttp/promises/src/Promise.php:226
PHP   9. GuzzleHttp\Promise\Promise->waitIfPending() .../vendor/guzzlehttp/promises/src/Promise.php:269
PHP  10. GuzzleHttp\Promise\Promise->invokeWaitList() .../vendor/guzzlehttp/promises/src/Promise.php:226
PHP  11. GuzzleHttp\Promise\Promise->waitIfPending() .../vendor/guzzlehttp/promises/src/Promise.php:269
PHP  12. GuzzleHttp\Promise\Promise->invokeWaitFn() .../vendor/guzzlehttp/promises/src/Promise.php:224
PHP  13. GuzzleHttp\Handler\CurlMultiHandler->execute() .../vendor/guzzlehttp/promises/src/Promise.php:248
PHP  14. GuzzleHttp\Handler\CurlMultiHandler->tick() .../vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php:145
PHP  15. GuzzleHttp\Promise\TaskQueue->run() .../vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php:118
PHP  16. GuzzleHttp\Promise\RejectedPromise::GuzzleHttp\Promise\{closure}() .../vendor/guzzlehttp/promises/src/TaskQueue.php:48
PHP  17. GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() .../vendor/guzzlehttp/promises/src/RejectedPromise.php:42
PHP  18. GuzzleHttp\Promise\Promise::callHandler() .../vendor/guzzlehttp/promises/src/Promise.php:169
PHP  19. Aws\WrappedHttpHandler->Aws\{closure}() .../vendor/guzzlehttp/promises/src/Promise.php:204
PHP  20. Aws\WrappedHttpHandler->parseError() .../vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php:101
PHP  21. call_user_func:{.../vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php:178}() .../vendor/aws/aw    s-sdk-php/src/WrappedHttpHandler.php:178
PHP  22. Aws\Api\ErrorParser\XmlErrorParser->__invoke() .../vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php:178
PHP  23. Aws\Api\ErrorParser\XmlErrorParser->parseXml() .../vendor/aws/aws-sdk-php/src/Api/ErrorParser/XmlErrorParser.php:42

我已经尝试安装 php-xml 并得到了这个:

php-xml is already the newest version (1:7.1+55+ubuntu16.04.1+deb.sury.org+1)

尝试安装特定版本,即。 apt install php5.6-xml 找不到包,并且 mods-available 中缺少 simplexml.conf 文件。

我在 /etc/php/7.0/mods-available 中有一个 simplexml.ini,并尝试切换到 php7.0 来尝试纠正这些问题,但无济于事。

对此的任何帮助将不胜感激。

【问题讨论】:

  • 如果你这样做php -m | grep xml,你会得到什么?
  • 输出为libxml
  • 你安装了libxml吗?
  • 这是我尝试安装 libxml E: Unable to locate package libxml
  • 可能是 libxml2。见askubuntu.com/questions/733169/…

标签: php xml ubuntu amazon-s3 simplexml


【解决方案1】:

发现我的问题出在我的 aws 用户密钥上。我使用了错误的密钥,它一直抛出这个错误。如果有人遇到同样的问题,请仔细检查您的密钥,希望您可以避免头痛。无需安装扩展程序即可使其正常工作。

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多