【问题标题】:include/require not working PHP包括/要求不工作的 PHP
【发布时间】:2018-09-13 04:26:52
【问题描述】:

我想包含一个位于我的项目工作文件夹中的文件,名为Proj。此文件夹包含项目的所有文件,包括index.html,其路径为:

/var/www/html/项目

我尝试了很多方法都没有成功:

include 'Clockwork.php';

include($_SERVER['DOCUMENT_ROOT']."Clockwork.php");

顺便说一下$_SERVER['DOCUMENT_ROOT']的输出是

/var/www/html/

我试过include($_SERVER['DOCUMENT_ROOT']."/Proj/Clockwork.php");,但也没有用。

我得到的错误是:

Fatal error: Uncaught Error: Class 'Clockwork' not found in (location of php php file that is trying to include the file) Stack trace: #0 {main} thrown in etc etc

如果有帮助,我的php.ini 文件默认设置为...

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
;include_path = ".:/usr/share/php"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
;
; PHP's default setting for include_path is ".;/path/to/php/pear"
; http://php.net/include-path

这很奇怪,我不知道还能做什么。

Clockwork 是来自 https://www.clockworksms.com/doc/easy-stuff/code-wrappers/php/ 的 API

这是一个很长的文件。标题开头如下:

<?php
/**
* Clockwork PHP API
*
* @package     Clockwork
* @copyright   Mediaburst Ltd 2015
* @license     MIT
* @link        http://www.clockworksms.com
* @version     1.3.2
*/

namespace mediaburst\ClockworkSMS;

/**
* Main Clockwork API Class
*
* @package     Clockwork
* @since       1.0
*/
class Clockwork {

  /*
  * Version of this class
  */
  const VERSION           = '2.0.0';
 //....
}

【问题讨论】:

  • 您需要先定义“不工作”,然后才能有人帮助您。你在期待什么?你得到什么?您看到了哪些错误消息?
  • 我正在从云服务器进行测试,因此它不会显示错误(只是说此页面无法正常工作 165.227.177.227 目前无法处理此请求。HTTP 错误 500)。我从本地主机测试。我编辑了帖子以显示它给出的错误
  • @codeEinsteinn,那么您的错误实际上是在 Clockwork.php 中。它引用了一个不存在的类。可以发一下 Clockwork.php 的内容吗?
  • 我已经发布了一些文件的标题。 Clockworks.php 是一个 API。来源是clockworksms.com/doc/easy-stuff/code-wrappers/php
  • 文件读取成功,但有错误。您可以使用php -l Clockwork.php 运行 lint 检查语法错误,但我怀疑您的 PHP 版本比此代码所需的版本旧。

标签: php mysql include


【解决方案1】:

尝试添加一个“/” include($_SERVER['DOCUMENT_ROOT']."/Clockwork.php"); 这可能是您问题的答案。

【讨论】:

    【解决方案2】:

    根据它是否位于同一目录中,您可以使用:

    include_once(__DIR__."/Clockwork.php");
    

    【讨论】:

    • 那么以上应该可以工作。我会做require_once(__DIR__."/Clockwork.php");,然后在这里发布结果。
    • 它没有。它显示“此页面无法正常工作 165.227.177.227 目前无法处理此请求。HTTP ERROR 500”
    • 您的解决方案运行良好。该文件正在被识别,但我没有正确创建 Clockwork 对象。谢谢。
    【解决方案3】:

    用你的文件路径试试require_once()

    【讨论】:

    • 嗨 Ozal,我确实 require_once("var/www/html/Proj/Clockwork.php");但这不起作用:(
    • @Ozal 告诉你的是,使用 "require_once()" 而不是 "include_once()" 是 require 会导致致命错误,并将让我们继续了解它的原因没有加载。
    猜你喜欢
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 2011-08-11
    • 2011-12-01
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多