Довольно распространенная причина проблем в том, что " не работает " при смене серверов:
- Вы разработали на компьютере с Windows, и ваш рабочий сервер является машиной с Linux; имена файлов и пути к ним чувствительны к регистру в Linux
- Это означает, что вы должны проверить, соответствуют ли строчные и прописные буквы в именах ваших файлов и каталогов тому, что вы используете.
- Другая проблема - файлы не найдены ...
По поводу второй проблемы две идеи:
- Используйте
require
вместо include
; вы получите фатальную ошибку, если требование не работает
- И включите
error_reporting
и display_errors
, чтобы увидеть сообщение об ошибке.
- Всегда используйте абсолютные пути, чтобы указать на файлы, которые вы включаете, и никогда не относительные
- Конечно, вы не хотите вводить абсолютные пути в своем коде
- Итак, вы можете использовать функцию
dirname
, примерно так:
В вашем файле "main" (и эту же идею следует использовать для всех остальных включений) :
require dirname(__FILE__) . '/includes/mass.php';
Обратите внимание, что dirname(__FILE__)
всегда даст вам абсолютный путь к каталогу, в котором находится файл, в который вы записываете.
Что касается «включения отчетов об ошибках и отображения», поскольку у вас, вероятно, нет доступа к файлам конфигурации вашего сервера, самый простой способ - поместить что-то подобное в верхнюю часть основного сценария:
error_reporting(E_ALL);
ini_set('display_errors', 'On');
При этом ошибки должны отображаться в браузере - их будет немного легче увидеть, чем просматривать журнал ошибок сервера.