Я попробовал все ниже, даже попытаться использовать требуют, но ничего не работает.
<?PHP include "myfile.php"; ?>
<?PHP include "/myfile.php"; ?>
<?PHP include "./myfile.php"; ?>
<?PHP include(__DIR__,"myfile.php"); ?>
<?PHP include "/public_html/myfile.php"; ?>
Все мои файлы находятся на синем хост-сервере и всякий раз, когда это происходит в точке, где объект создается из myfile.php
(который находится в каталоге public_html) это дает [01-Sep-2015 20:56:07 America/Denver] PHP Warning: include(): Failed opening '/MyConnection.php' for inclusion (include_path='.:/usr/php/54/usr/lib64:/usr/php/54/usr/share/pear:/home1/user/public_html') in /home1/user/public_html/myfile.php on line 29
,
[01-Sep-2015 20:56:07 America/Denver] PHP Fatal error: Class 'MyConnection' not found in /home1/user/public_html/myfile.php on line 32
Я отлаживал свой код, все операторы прекрасно работают, если только они не связаны с myfile.php
а также этот код прекрасно работает на моем сервере wampp с локальными файлами. Любая помощь будет чрезвычайно ценится. Спасибо.
Как сказал Пол в комментариях, вам нужно обращаться к журналу ошибок каждый раз, когда вы получаете ошибку 500 с PHP.
Тем не менее, вы используете абсолютные пути, когда используете префикс /, и я на 99% уверен, что вы не должны этого делать.
<?PHP include "/myfile.php"; ?>
Это означает, что вы на самом деле пытаетесь прочитать myfile.php из /
каталог сервера. Это не то же самое, что использование корневого веб-каталога с HTML.
Вы должны использовать относительные пути или использовать полный абсолютный путь. Обратите внимание, что __DIR__
в большинстве случаев НЕ имеет суффикса разделителя каталогов (если только это не корневой каталог).
<?PHP include(__DIR__,"myfile.php"); ?>
Должно быть:
<?PHP include(__DIR__, DIRECTORY_SEPARATOR, "myfile.php"); ?>
Вы также можете изменить путь включения. Используйте документацию по get_include_path и set_include_path.
Попробуйте использовать абсолютный путь
<?php include ($_SERVER['DOCUMENT_ROOT']."/myfile.php"); ?>
использование
<?PHP include "var/www/public_html/myfile.php";
Как я это делаю, у меня есть файл (init.php), который включается в каждый файл на сайте, который определяет путь к его местоположению на сервере и сохраняет его в константе, которая будет использоваться при включении других файлов. Я всегда помещаю файл init.php в корень сайта.
if(!defined('ABSPATH')){ define('ABSPATH', dirname(__FILE__) . '/'); }
include( ABSPATH . 'filename.php');