【问题标题】:autoload.php won't work on my web serverautoload.php 无法在我的网络服务器上运行
【发布时间】:2018-01-11 18:31:17
【问题描述】:

所以我按照说明如何使用composer安装google的api客户端。

当我尝试在我的网络浏览器中打开一个只有此代码的文件时

<?php

require_once 'vendor/autoload.php';

我从托管服务提供商处收到这些错误

[2017 年 8 月 3 日 23:46:22 UTC] PHP 警告:要求(/home/michmarket/public_html/vendor/composer/../guzzlehttp/psr7/src/functions_include.php):无法打开流: 在第 66 行的 /home/michmarket/public_html/vendor/composer/autoload_real.php 中没有这样的文件或目录 [2017 年 8 月 3 日 23:46:22 UTC] PHP 致命错误:require():无法打开所需的“/home/michmarket/public_html/vendor/composer/../guzzlehttp/psr7/src/functions_include.php”( include_path='.:/opt/alt/php56/usr/share/pear:/opt/alt/php56/usr/share/php') 在第 66 行的 /home/michmarket/public_html/vendor/composer/autoload_real.php

我试图通过在我的命令提示符中运行它来确保所有文件 API 文件都是最新的。

$ composer require google/apiclient:^2.0

当我这样做时,我的命令提示符说我的所有文件都是最新的。关于为什么我仍然收到错误的任何想法?

【问题讨论】:

  • 尝试删除vendor 目录并重新创建composer install。请注意在该过程中显示的任何警告/错误消息。
  • 我刚刚删除了我的整个供应商文件夹并在我的目录中运行了 composer install,但我得到了完全相同的错误。
  • vendor/guzzlehttp/psr7/src/functions_include.php 文件是否存在?
  • 在我的电脑上搜索目录时存在
  • 它是否存在于服务器上,您需要它到哪里?您是否在服务器上执行composer install?

标签: google-api composer-php


【解决方案1】:

如果你不能跑

$ composer install

在您的 Web 服务器上,然后您需要在部署服务器上运行该命令后将您的 vendor 目录传输到您的 Web 服务器。

如果您的部署服务器是您的本地计算机,请尽量使其在平台要求方面与 Web 服务器匹配(PHP 版本,您可能在本地运行比在 Web 服务器上更新的版本),或参考https://getcomposer.org/doc/06-config.md#platform:

允许您伪造平台包(PHP 和扩展),以便您可以模拟生产环境或在配置中定义您的目标平台。示例:{“php”:“5.4”,“ext-something”:“4.0”}。

注意您可能还想优化自动加载,请查看https://getcomposer.org/doc/articles/autoloader-optimization.md#autoloader-optimization。

【讨论】:

    猜你喜欢
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 2011-01-08
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多