Это ошибка, которую я нахожу трудно отлаживать, потому чтоPHP: Нет такого файла или каталога
Я не испытать это на моей локальной платформы разработки, только на удаленных серверах (но не все) и
Я не уверен, с чего начать искать или какие настройки PHP нужно исследовать, хотя я подозреваю, что проблема связана с удаленной серверной средой.
Дополнительная сложность заключается в том, что в большом мультимодульном сценарии я разработал, проблема только когда-либо возникает в связи с осуществлением TinyMCE. Типичная проблема заключается в:
Предупреждение: include_once (ядро/запуск/GLOBALS.php) [function.include-раз]: не удалось не удалось открыть поток: Нет такого файла или каталога в/главная/wikindx/WWW/WWW /wikindx4/core/tiny_mce/plugins/wikindxLink/dialog.php на линии 33
Таким образом, в дополнение к возможному решению можно найти в настройках окружения сервера, я, возможно, придется что-то изменить в настройках TinyMCE - - Я несколько раз спрашивал о помощи на форумах tinyMCE, но не получил никаких ответов.
Все это прекрасно работает на моей локальной платформе и на других удаленных серверах. Излишне говорить, что GLOBALS.php
находится в ядре/запуске /, но я не могу его жестко записать в /home/wikindx/www/www/wikindx4/core/startup/
, потому что эти скрипты должны работать на любом сервере.
EDIT: Я действительно подозреваю, что это имеет какое-то отношение к среде tinyMCE, потому что установка сервера, вызывающая проблему, не имеет проблем с вызовом include_once (core/startup/GLOBALS.php
), когда этот вызов выходит за пределы системы tinyMCE. Что-то в tinyMCE меняет путь, который ищет include_once()
.
Скорее всего, вы разрабатываете на Windows, а сервер * Nix? В этом случае вы должны иметь в виду, что имена файлов нечувствительны к регистру в Windows, но НЕ относятся к linux: capital/lower case. Если это не так, проверьте, что такое ваш ['include_path'] (http://www.php.net/manual/en/ini.core.php#ini.include-path). Обычно я предпочитаю включать файлы, основанные на каталоге, в котором они находятся, поэтому это потребует «require __DIR __.»/../../../startup/GLOBALS.php '; ' – Wrikken
Разработка на OsX. И я не могу использовать ваше жестко закодированное решение пути по причинам, указанным выше. –
Я не понимаю, почему этот относительный include не работает. Или вы говорите, что вы «включаете» файл _not_ части вашего фактического пакета, поэтому отношение к пути к связанному файлу глобальных файлов не работает? (другими словами: dialog.php не является частью того же пакета, что и GLOBALS.php, но почему-то все еще знает о его существовании и хочет включить его из «где-то»?) – Wrikken