Отдельно хочу предложить изменить понимание пути в SERVER_ROOT. Что если определить этот путь как указатель на место (папку), где лежат папки Apache2.2, MySQL, PHP и т.д. Другими словами SERVER_ROOT будет указывать на папку, с папками компонентами сервера. Переопределять этот путь в файле config.php как
Код: Выделить всё
Define('SERVER_ROOT', 'c:/_majordomo/server'); // в конце косой черты быть не должно Для файлов МД есть DOC_ROOT. Сейчас он также определяется в config.php как
Код: Выделить всё
Define('DOC_ROOT', dirname(__FILE__));Сейчас это все так, но в php файлах сайта используются разные варианты, которые работают только при оригинальном размещении сервера и папки с файлами сайта. Если для компонентов сервера всегда отталкиваться от SERVER_ROOT, а для файлов сайта от DOC_ROOT, то получается папку с сайтом можно будет разместить где угодно, и он будет работать на сервере, который может находится в любом месте. Возможно это не имеет особого смысла, если МД был установлен на чистую машину и более ничего на ней размещать не планируется. Но если сервер уже был, то подобный подход к путям сайта очень актуален. В любом случае хуже точно не будет.
По возможности для получения путей к другим файлам, в php файлах нужно отталкиваться не от их размещения на диске, а от констант SERVER_ROOT и DOC_ROOT. Главное чтобы в этом файле был включен config.php
Код: Выделить всё
include_once("./config.php");.\config.php
В этом файле требуется настроить пароль к SQL базе, если конечно он установлен в sql. Лично я люблю все запирать хоть и плохонький, но замочек. Так же тут настраивается порт сервера и сам путь SERVER_ROOT. Этот файл не обновляется и будет достаточно настроить его один раз.
Код: Выделить всё
Define('DB_PASSWORD', ''); // Пароль на sql
Define('BASE_URL', 'http://127.0.0.1:80'); // Your base URL:port (!!!)
Define('SERVER_ROOT', 'c:/_majordomo/server'); // в конце косой черты быть не должно Пробуем подменить на путь SERVER_ROOT
Код: Выделить всё
// $threads->phpPath = '..\server\php\php.exe';
$threads->phpPath = SERVER_ROOT.'\php\php.exe';Нужно получить путь к php.exe Сейчас используется вариант отталкивания от пути самого obj.bat. Варианты: либо правим файл и каждый раз после обновления копируем обратно, либо надо подумать как вытащить значение SERVER_ROOT из config.php средствами bat файла. Так то это не должно быть затратной операцией.
.\megad.php
Будет полностью заменен при обновлении на пустую болванку! Актуально для обладателей такого железа как МегаД. Для остальных вообще не важно что в этом файле. Варианты:
1. Я вполне неплохо сдружился с МегаДевайсом, и мог бы поддерживать обновление этого файла в дистрибутиве МД сам.
2. Просто после обновления копируем этот файл обратно.
3. Отключить обновление этого файла.
.\pChart\pics.php и s.php
Путь к файлам шрифтов. Возможно будет не актуально в связи в появлением pChart2 и jgraph
Код: Выделить всё
C:\_majordomo\htdocs\pChart\Fonts\...т.к. я в самом начале предложил добавить /server к пути в SERVER_ROOT, тут потребуется убрать /server
Код: Выделить всё
// exec(SERVER_ROOT."/server/mysql/bin/mysqldump --user=root --no-create-db --add-drop-table --databases ".DB_NAME.">".$filename);
exec(SERVER_ROOT."/mysql/bin/mysqldump --user=root --no-create-db --add-drop-table --databases ".DB_NAME.">".$filename);Я не помню какой был точно путь в дистрибутиве МД. Что то типа этого. По моему мнению apps должны лежать в папке с компонентами сервера. Следовательно, нужно взять путь SERVER_ROOT, добавить у нему apps и vlc
Код: Выделить всё
ShellExecute ("C:\_majordomo\apps\vlc\vlc.exe",'"' & $CmdLine[1] & '"')