【问题标题】:Symfony 2.4 project deployment without SSH没有 SSH 的 Symfony 2.4 项目部署
【发布时间】:2014-04-20 16:42:31
【问题描述】:

我在本地系统上用 symfony 2.4 做了一个小项目。我已将所有项目文件上传到具有相同目录结构和数据库的共享托管服务器。只有我的公共目录的名称是“public_html”而不是“web”。我没有对此服务器的 SSH 访问权限。当我通过输入域名运行网站时,它会显示空白页。我在服务器的日志文件中看到以下给出的错误:

adminhelpline.com [Sun Apr 20 17:08:55 2014] [error] [client 5.10.83.33:35937]  AH01215: PHP Warning:  require_once(/home/sites/adminhelpline.com/vendor/composer/autoload_real.php): failed to open stream: No such file or directory in /home/sites/adminhelpline.com/vendor/autoload.php on line 5

我的自动加载文件如下所示:

<?php

// autoload.php @generated by Composer

require_once __DIR__ . '/composer' . '/autoload_real.php';

return ComposerAutoloaderInit48e5d1e7fa77bf3d631b331b6343761b::getLoader();

谁能帮我解决问题?

【问题讨论】:

    标签: php symfony


    【解决方案1】:

    这很简单。错误日志告诉您 /home/sites/adminhelpline.com/vendor/composer 文件夹中的文件 autoload_real.php 不存在。

    检查文件夹的结构 我假设您使用某种 ftp 客户端?最坏的情况是尝试更改 autoload.php 以不包含该文件并查看您得到的内容,或者只是将文件移动到与 autoload.php 相同的文件夹并更改第 5 行文件夹结构。

    【讨论】:

    • 谢谢塞拉。存在文件名大小写问题。 Windows 会忽略大小写,但 linux 不会。因此证明symfony项目可以在没有SSH的情况下部署。
    • 我不确定新的 Windows 是如何工作的,但 Linux 和 Mac 区分大小写会有所作为。在旧 Windows 中,再次不确定新版本的情况并不重要。
    【解决方案2】:

    在本地机器上执行composer update,然后部署生成的vendor/文件夹。

    此文件夹将包含依赖项和生成的自动加载

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      • 2016-05-08
      • 1970-01-01
      • 2017-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多