【问题标题】:Unable to include a php file in typo3无法在typo3中包含php文件
【发布时间】:2019-03-07 21:32:51
【问题描述】:

我正在使用 Typo3 cms。在主文件夹下,我有不同的其他文件夹,例如typo3、typo3conf、fileadmin 等...

我在主文件夹中创建了两个名为myphp.phpmyantoher.php的php文件,我在myphp.php中使用了require()。但是在执行过程中到达该行时,我收到以下错误:

警告:需要(doc/PHPMailer/class.PHPMailer.php):打开失败 流:中没有这样的文件或目录 /var/www/domainname.com/doc/contactform.php 第 3 行致命错误: require(): 打开所需的 'doc/PHPMailer/class.PHPMailer.php' 失败

为什么我在尝试require() 这个文件时会收到错误消息?

【问题讨论】:

  • 如果您包含您收到的错误消息以及生成错误的代码,这可能会有所帮助。
  • 请查找错误信息。警告:需要(doc/PHPMailer/class.PHPMailer.php):无法打开流:第 3 行的 /var/www/domainname.com/doc/contactform.php 中没有这样的文件或目录致命错误:需要():未能打开所需的 'doc/PHPMailer/class.PHPMailer.php'
  • 您确定工作目录吗?如果您使用绝对路径而不是相对路径,它的行为会有所不同吗?
  • 使用 TYPO3 API 运行自定义代码。一种方法是通过 TypoScript 集成 userFunc。这是一个例子(德语)netbrothers.de/typo3-projekte/typo3-tipps/…

标签: php typo3 typo3-6.2.x


【解决方案1】:

在 TYPO3 中添加 PHP 或任何其他文件非常容易

你必须编写脚本

  includeLibs.cookie = fileadmin/cookie/cookie.php

  page.20 = USER_INT
  page.20 {
      userFunc = user_setcookie
  }

有关 TYPO3 的更多信息,您可以访问我的博客

https://jainishsenjaliya.wordpress.com/2015/04/01/how-to-include-custome-php-file-in-typo3/

问候,

耆那教森加利亚

【讨论】:

    【解决方案2】:

    您可以在此处包含您的自定义 PHP 文件

    使用 CONFIG 对象。

    例如:

    config.includeLibrary = fileadmin/templates/myscript.php

    使用 PAGE 对象。

    例如:

    page.100.file = fileadmin/templates/myscript.php

    【讨论】:

      【解决方案3】:

      仅供参考。不能再通过 TypoScript 使用includeLibs。相反,请确保将代码封装在 PHP 函数或 PHP 类中,并通过类加载器(将它们放在一个简单的扩展中)或通过 Composer 的自动加载功能加载它们。

      您仍然可以在 TYPO3 周围通过 PHP 调用函数/方法,然后通过

      在前端调用它们
      page.10 = USER_INT
      page.10.userFunc = bennis_function
      

      或者如果它是类中的方法

      page.10.userFunc = Benni\Mack\RandomClassName->my_method
      

      如果你想快速而肮脏地完成它,你可以在你的 AdditionalConfiguration.php 文件中要求你的文件,并在任何地方使用它。

      不过,最好的方法是使用带有 PHP 类和 PSR-4 自动加载的扩展。

      【讨论】:

        猜你喜欢
        • 2015-11-06
        • 1970-01-01
        • 1970-01-01
        • 2016-04-01
        • 2015-02-11
        • 2016-09-02
        • 1970-01-01
        • 2011-07-08
        • 1970-01-01
        相关资源
        最近更新 更多