Уж больно много мест конфига нужно руками править.
Это уже вопросы к MODX Revolution. У него исторически много мест в конфиге.
Это не очень похоже на простое разворачивание дистрибутива, которое ожидаешь, скачав нормально подготовленный релиз.
Если веб-сервер настроен нормально и нормально поставлен MODX Revolution, то сборка ставится нормально через систему установки пакетов. Я же не виноват что не все хотят пользоваться одним и тем же хостингом. Сейчас я вам настрою опен-сервер, потрачу калории, а пользоваться этим будет 1%. Остальные на различных хостингах сидеть будут, им этот опен-сервер и не нужен будет. Потом придет еще кто-то, попросит образ сервера на таком-то хостинге создать. И т.д, и т.п. Поэтому самое надежное — прокачивайте свои скилы по серверному администрированию, и будем вам счастье.
Здесь нет конфликта версий и это не проблема нашей сборки, а касается любого проекта, где требуется JSON. Раньше просто он был стандарт для php, а вот сейчас приходится ставить модули. Это так же, как необходима библиотека GD и т.п. Всех зависимостей и требований вам не перечислить, а во-вторых, вы бы их и не стали бы читать в таком объеме. Поэтому, логи вам в помощь. Только они вам скажут что не так. Ну, иногда и немного интуиции))
УУУПС. почитал ошибку — жалуется на отсутствие в public_html нужно модуля — в итоге, поиском по контенту в тотале нашел, что в конфиг-файле не было везде нового пути. В итоге, рабочий видок /core/config/config.inc.php такой:
<?php /** * MODX Configuration file */ $database_type = 'mysql'; $database_server = 'localhost'; $database_user = 'root'; $database_password = ''; $database_connection_charset = 'utf8'; $dbase = 'shopmodxbox_db'; $table_prefix = 'modx_'; $database_dsn = 'mysql:host=localhost;dbname=shopmodxbox_db;charset=utf8'; $config_options = array ( ); $driver_options = array ( ); $lastInstallTime = 1420048560; $site_id = 'modx54a438b01b3164.73430844'; $site_sessionname = 'SN52d5ae4639012'; $https_port = '443'; $uuid = '5d00c770-77ec-4a26-b12f-66dd6f761142'; if (!defined('MODX_CORE_PATH')) { $modx_core_path= 'c:/OpenServer/domains/modx/core/'; define('MODX_CORE_PATH', $modx_core_path); } if (!defined('MODX_PROCESSORS_PATH')) { $modx_processors_path= 'c:/OpenServer/domains/modx/processors/'; define('MODX_PROCESSORS_PATH', $modx_processors_path); } if (!defined('MODX_CONNECTORS_PATH')) { $modx_connectors_path= 'c:/OpenServer/domains/modx/connectors/'; $modx_connectors_url= '/connectors/'; define('MODX_CONNECTORS_PATH', $modx_connectors_path); define('MODX_CONNECTORS_URL', $modx_connectors_url); } if (!defined('MODX_MANAGER_PATH')) { $modx_manager_path= 'c:/OpenServer/domains/modx/manager/'; $modx_manager_url= '/manager/'; define('MODX_MANAGER_PATH', $modx_manager_path); define('MODX_MANAGER_URL', $modx_manager_url); } if (!defined('MODX_BASE_PATH')) { $modx_base_path= 'c:/OpenServer/domains/modx/'; $modx_base_url= '/'; define('MODX_BASE_PATH', $modx_base_path); define('MODX_BASE_URL', $modx_base_url); } if(defined('PHP_SAPI') && (PHP_SAPI == "cli" || PHP_SAPI == "embed")) { $isSecureRequest = false; } else { $isSecureRequest = ((isset ($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') || $_SERVER['SERVER_PORT'] == $https_port); } if (!defined('MODX_URL_SCHEME')) { $url_scheme= $isSecureRequest ? 'https://' : 'http://'; define('MODX_URL_SCHEME', $url_scheme); } if (!defined('MODX_HTTP_HOST')) { if(defined('PHP_SAPI') && (PHP_SAPI == "cli" || PHP_SAPI == "embed")) { $http_host='modx2_3.dev.shopmodxbox.modxdev.webtm.ru'; define('MODX_HTTP_HOST', $http_host); } else { $http_host= array_key_exists('HTTP_HOST', $_SERVER) ? $_SERVER['HTTP_HOST'] : 'modx2_3.dev.shopmodxbox.modxdev.webtm.ru'; if ($_SERVER['SERVER_PORT'] != 80) { $http_host= str_replace(':' . $_SERVER['SERVER_PORT'], '', $http_host); // remove port from HTTP_HOST } $http_host .= ($_SERVER['SERVER_PORT'] == 80 || $isSecureRequest) ? '' : ':' . $_SERVER['SERVER_PORT']; define('MODX_HTTP_HOST', $http_host); } } if (!defined('MODX_SITE_URL')) { $site_url= $url_scheme . $http_host . MODX_BASE_URL; define('MODX_SITE_URL', $site_url); } if (!defined('MODX_ASSETS_PATH')) { $modx_assets_path= 'c:/OpenServer/domains/modx/assets/'; $modx_assets_url= '/assets/'; define('MODX_ASSETS_PATH', $modx_assets_path); define('MODX_ASSETS_URL', $modx_assets_url); } if (!defined('MODX_LOG_LEVEL_FATAL')) { define('MODX_LOG_LEVEL_FATAL', 0); define('MODX_LOG_LEVEL_ERROR', 1); define('MODX_LOG_LEVEL_WARN', 2); define('MODX_LOG_LEVEL_INFO', 3); define('MODX_LOG_LEVEL_DEBUG', 4); } if (!defined('MODX_CACHE_DISABLED')) { $modx_cache_disabled= false; define('MODX_CACHE_DISABLED', $modx_cache_disabled); }
На опен-сервере вместе с любым ПХП работать будет. Проверено. Лишь бы апач был адекватный под ПХП. Тема себя исчерпала, после очередной попытки установки с новья. Но, установка на Опен-сервер, как-то не выглядит беспроблемной. Я бы порекомендовал вам, Николай, сделать сборку для опен-сервера для хоста shopmodxbox. Это бы упростило установку. Уж больно много мест конфига нужно руками править. Это не очень похоже на простое разворачивание дистрибутива, которое ожидаешь, скачав нормально подготовленный релиз.
Еще раз спасибо за поддержку.
PHP 5.2
c:\OpenServer\domains\modx\core\config\
<?php /** * MODX Configuration file */ $database_type = 'mysql'; $database_server = 'localhost'; $database_user = 'root'; $database_password = ''; $database_connection_charset = 'utf8'; $dbase = 'shopmodxbox_db'; $table_prefix = 'modx_'; $database_dsn = 'mysql:host=localhost;dbname=shopmodxbox_db;charset=utf8'; $config_options = array ( ); $driver_options = array ( ); $lastInstallTime = 1420048560; $site_id = 'modx54a438b01b3164.73430844'; $site_sessionname = 'SN52d5ae4639012'; $https_port = '443'; $uuid = '5d00c770-77ec-4a26-b12f-66dd6f761142'; if (!defined('MODX_CORE_PATH')) { $modx_core_path= '/www/public_html/core/'; define('MODX_CORE_PATH', $modx_core_path); } if (!defined('MODX_PROCESSORS_PATH')) { $modx_processors_path= 'c:/OpenServer/domains/modx/processors/'; define('MODX_PROCESSORS_PATH', $modx_processors_path); } if (!defined('MODX_CONNECTORS_PATH')) { $modx_connectors_path= '/www/public_html/connectors/'; $modx_connectors_url= '/connectors/'; define('MODX_CONNECTORS_PATH', $modx_connectors_path); define('MODX_CONNECTORS_URL', $modx_connectors_url); } if (!defined('MODX_MANAGER_PATH')) { $modx_manager_path= '/www/public_html/manager/'; $modx_manager_url= '/manager/'; define('MODX_MANAGER_PATH', $modx_manager_path); define('MODX_MANAGER_URL', $modx_manager_url); } if (!defined('MODX_BASE_PATH')) { $modx_base_path= '/www/public_html/'; $modx_base_url= '/'; define('MODX_BASE_PATH', $modx_base_path); define('MODX_BASE_URL', $modx_base_url); } if(defined('PHP_SAPI') && (PHP_SAPI == "cli" || PHP_SAPI == "embed")) { $isSecureRequest = false; } else { $isSecureRequest = ((isset ($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') || $_SERVER['SERVER_PORT'] == $https_port); } if (!defined('MODX_URL_SCHEME')) { $url_scheme= $isSecureRequest ? 'https://' : 'http://'; define('MODX_URL_SCHEME', $url_scheme); } if (!defined('MODX_HTTP_HOST')) { if(defined('PHP_SAPI') && (PHP_SAPI == "cli" || PHP_SAPI == "embed")) { $http_host='modx2_3.dev.shopmodxbox.modxdev.webtm.ru'; define('MODX_HTTP_HOST', $http_host); } else { $http_host= array_key_exists('HTTP_HOST', $_SERVER) ? $_SERVER['HTTP_HOST'] : 'modx2_3.dev.shopmodxbox.modxdev.webtm.ru'; if ($_SERVER['SERVER_PORT'] != 80) { $http_host= str_replace(':' . $_SERVER['SERVER_PORT'], '', $http_host); // remove port from HTTP_HOST } $http_host .= ($_SERVER['SERVER_PORT'] == 80 || $isSecureRequest) ? '' : ':' . $_SERVER['SERVER_PORT']; define('MODX_HTTP_HOST', $http_host); } } if (!defined('MODX_SITE_URL')) { $site_url= $url_scheme . $http_host . MODX_BASE_URL; define('MODX_SITE_URL', $site_url); } if (!defined('MODX_ASSETS_PATH')) { $modx_assets_path= '/www/public_html/assets/'; $modx_assets_url= '/assets/'; define('MODX_ASSETS_PATH', $modx_assets_path); define('MODX_ASSETS_URL', $modx_assets_url); } if (!defined('MODX_LOG_LEVEL_FATAL')) { define('MODX_LOG_LEVEL_FATAL', 0); define('MODX_LOG_LEVEL_ERROR', 1); define('MODX_LOG_LEVEL_WARN', 2); define('MODX_LOG_LEVEL_INFO', 3); define('MODX_LOG_LEVEL_DEBUG', 4); } if (!defined('MODX_CACHE_DISABLED')) { $modx_cache_disabled= false; define('MODX_CACHE_DISABLED', $modx_cache_disabled); }
С чистого листа разжал и сделал конфиги как должны быть.
Получаю: Fatal error: require() [function.require]: Failed opening required '/www/public_html/core/components/modxsite/controllers/base.php' (include_path='.;c:/openserver/modules/php/PHP-5.2;c:/openserver/modules/php/PHP-5.2/PEAR/pear') in C:\OpenServer\domains\modx\core\components\phptemplates\model\phptemplates\phptemplate.class.php on line 29
Ага (голосом из might and magic 6) Я все пере-проверю и доложу. Если есть конфликт версий — это нужно указывать. на то она и документация по установке.
Тупо не могу поставить под виндой вмВарь
А что, в этом есть какие-то проблемы? Я давно ставил VirtualBox, но там вроде никаких сложностей нет. Тупа жмем далее при установке и все.
Логично. Не складывается с дистрибутивом пока. Тупо не могу поставить под виндой вмВарь. Но, для кого-то это сложно. И даже недостижимо. Так что это не метод для масс-использования.
А вот php5.5 многое объясняет :) Дело в том, что в версии 5.5 из коробки нет JSON. Пруфф: habrahabr.ru/post/198312/ Устанавливайте модуль php5-json.
Да всё прекрасно работает. Есть некоторые нюансы. В часности при настройках OpenServera апаче 2.2 и пхп 5.3 рабртает хорошо, но стоит изменить на апаче 2.4 и пхп 5.5 то уже не получается соединится с репозиторием и скачать пакет Николая.