Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Composer php 在不使用Composer的情况下将TYPO3站点移动到服务器_Composer Php_Typo3_Typo3 10.x - Fatal编程技术网

Composer php 在不使用Composer的情况下将TYPO3站点移动到服务器

Composer php 在不使用Composer的情况下将TYPO3站点移动到服务器,composer-php,typo3,typo3-10.x,Composer Php,Typo3,Typo3 10.x,我在本地建立了一个TYPO3站点(10.4.9),在那里,TYPO3是使用Composer建立的 将站点移动到我们的TYPO Web服务器后,该服务器不使用Composer,而是使用Syslinks(我配置了Syslinks),前端只返回一个Oops错误页面。然而,后端可以工作 出于某种奇怪的原因,我无法获得任何设置,这些设置都不会给我提供更详细的错误消息 我怀疑问题在于服务器上缺少编写器 例如,index.php文件中的以下行: call_user_func(function () {

我在本地建立了一个TYPO3站点(10.4.9),在那里,TYPO3是使用Composer建立的

将站点移动到我们的TYPO Web服务器后,该服务器不使用Composer,而是使用Syslinks(我配置了Syslinks),前端只返回一个Oops错误页面。然而,后端可以工作

出于某种奇怪的原因,我无法获得任何设置,这些设置都不会给我提供更详细的错误消息

我怀疑问题在于服务器上缺少编写器

例如,index.php文件中的以下行:

call_user_func(function () {
    $classLoader = require dirname(__DIR__).'/vendor/autoload.php';
    \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE);
    \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run();
});
在这种情况下可以做什么

如果我在服务器上安装Composer,它会影响服务器上的其他TYPO3站点吗


或者有其他的修复方法吗?

到目前为止,您可以在不使用composer的情况下安装和运行TYPO3。虽然在处理上有一些不同

因为没有一个编写器可以获取所有的扩展,所以您需要用另一种方式来实现它。您有两个选择:

  • 从TER在扩展管理器中导入扩展
  • 将扩展名复制到/typo3conf/ext/。。。你自己
  • 缺点:

    • TER中并非所有扩展都可用(所有版本)
    • 需要附加库的扩展可能不完整,或者您必须在安装中提供这些外部代码
    另一个区别是:您需要另一个自动加载器(您的扩展必须支持它),而不是composer自动加载器。否则,某些类将丢失

    您的安装缺少的内容需要更多信息。除了错误日志之外,您还可以将系统配置为在浏览器中提供:

    在安装工具/管理工具中将安装切换到调试模式,以在前端获得错误转储



    您可以在服务器上并排安装不同的TYPO3(基于编写器/非编写器)。因此,可以安装composer并仅在一次安装中使用它,而无需更改所有其他安装。

    我的回答涉及到一种特殊类型的到服务器的传输:

    在一份可能很旧的文档中,建议进行composer安装并将其复制到服务器上-每个FTP(最好作为归档文件,以便只传输一个大文件)。
    在服务器本身上,不希望composer可用

    此场景有一些警告,因为即使在安装之后(即重建自动加载文件),TYPO3仍在使用composer

    然而,如果始终考虑到这些警告,它可能会起作用。
    要考虑的问题是,在服务器上复制具有公用文件和子文件夹的Web文件夹是不够的,但它也需要复制供应商“/COD> >文件夹,这通常是在TyPO3的Web目录之外。另外,可能需要将域映射到文件夹
    public
    ,文件夹
    vendor
    和public在同一主目录中是并行的。
    下面是一个安装,其中文件夹
    public
    只是使用TYPO3所需的几个文件夹之一:

    在我的例子中,父文件夹的名称是
    v10c
    ,但可以是任何其他名称,通常是项目或客户的名称。
    其他结构也是可能的,具体取决于composer设置,但问题总是一样的:
    必须在服务器上完全复制本地安装的结构,仅复制文件夹
    public

    除此之外,还必须考虑自动加载文件中的路径可能不适用于服务器,必须进行调整


    <强>我不推荐使用这样的TyPO3,可能存在其他我没有考虑的问题。但是一般来说,它可能是这样运行的。

    请分享更多的细节,比如一个精确的错误消息。无需在任何远程服务器上安装Composer,只需使用通常的部署过程来包含所有需要的库!了解您的后端工作已经是您正确部署网站的标志,所以composer可能不是问题所在。您能否在
    LocalConfiguration.php
    中打开displayErrors,以便了解真正的问题是什么?我高度怀疑您为以前的域配置了网站,但不是您试图在新服务器上访问的域。我打开了
    displayErrors
    ,并在
    LocalConfiguration.php
    中将
    debug
    设置为
    true
    。不过,我得到的只是“哦,发生了一个错误!”应该在服务器上和TYPO3中配置域