suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Der schwerwiegende PHP-Fehler kann die erforderliche Datei nicht öffnen

<p>Ich erhalte die folgende Fehlermeldung von Apache</p> <p><strong>[Sa, 19. März 23:10:50 2011] [WARNUNG] mod_fcgid: stderr: Schwerwiegender PHP-Fehler: require_once() [function.require]: Erforderliches „/common“ /configs/ konnte nicht geöffnet werden. config_templates.inc. php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/viapics1/public_html/common/configs/config.inc.php Zeile 158</strong>< /p> ; <p>Ich bin definitiv kein Apache-Experte, aber die Dateien config.inc.php und config_templates.inc.php sind vorhanden. Ich habe auch versucht, zur Seite test.html zu navigieren, die in common/configs/ abgelegt ist, daher glaube ich nicht, dass irgendwelche Berechtigungsprobleme auftreten. Ich habe auch die Berechtigungen für config_templates.inc.php festgelegt, um jedem Lese-, Schreib- und Ausführungsberechtigungen zu geben. Da ich zu diesem Zeitpunkt noch nicht sicher bin, was ich tun soll, habe ich nachgesehen, ob es ein Verzeichnis /usr/share/php gibt, und festgestellt, dass das nicht der Fall ist, aber als ich yum install php ausgeführt habe, hieß es, dass es die neueste Version habe. Eine Idee haben? </p>
P粉470645222P粉470645222488 Tage vor523

Antworte allen(2)Ich werde antworten

  • P粉683665106

    P粉6836651062023-08-24 11:50:35

    如果您正在运行 SELinux,您可能必须授予 httpd 权限才能从 /home 目录读取数据:

    sudo setsebool httpd_read_user_content=1

    Antwort
    0
  • P粉727531237

    P粉7275312372023-08-24 09:24:51

    这实际上不是一个与 Apache 相关的问题。甚至没有 PHP 相关的。 要理解此错误,您必须区分虚拟服务器上的路径和文件系统中的路径。

    require 运算符适用于文件。但这样的路径

    /common/configs/config_templates.inc.php

    仅存在于虚拟HTTP服务器上,而文件系统中不存在该路径。正确的文件系统路径是

    /home/viapics1/public_html/common/configs/config_templates.inc.php

    哪里

    /home/viapics1/public_html

    部分称为文档根,它将虚拟世界与现实世界连接起来。幸运的是,Web 服务器通常将文档根放在与 PHP 共享的配置变量中。因此,如果您将代码更改为这样的内容

    require_once $_SERVER['DOCUMENT_ROOT'].'/common/configs/config_templates.inc.php';

    它可以在任何目录中的任何文件中运行!

    更新:最终我写了一篇文章,解释了文件中的相对路径和绝对路径之间的差异系统和网络服务器上,详细解释了问题,并包含一些实用的解决方案。就像,当您从命令行运行脚本时,这样一个方便的变量并不存在。在这种情况下,一种称为“单一入口点”的技术可以解决这个问题。详细内容您也可以参考上面的文章。

    Antwort
    0
  • StornierenAntwort