Проблема с установкой vamshop 1.70 и её решение
В вамшопе версии 1.70 перешли на mysqli. После этого при установке скрипта на некоторых хостингах магазин не ставится. Наблюдал такое не только я, об этом есть сообщения и на официальном форуме.
На четвертом шаге вот такая картина:
Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in /home/……./inc/vam_db_query.inc.php on line 34
Warning: mysqli_errno() expects parameter 1 to be mysqli, resource given in /home/……./inc/vam_db_query.inc.php on line 34
Warning: mysqli_error() expects parameter 1 to be mysqli, resource given in /home/……./inc/vam_db_query.inc.php on line 34
Warning: include(DIR_WS_LANGUAGESrussian/russian_db_error.php) [function.include]: failed to open stream: No such file or directory in /home/……./inc/vam_db_error.inc.php on line 26
Warning: include(DIR_WS_LANGUAGESrussian/russian_db_error.php) [function.include]: failed to open stream: No such file or directory in /home/……./inc/vam_db_error.inc.php on line 26
Warning: include() [function.include]: Failed opening ‘DIR_WS_LANGUAGESrussian/russian_db_error.php’ for inclusion (include_path=’.:/usr/lib/php:/usr/local/lib/php’) in /home/……./inc/vam_db_error.inc.php on line 26
DB_ERR_MSG
До этого удачно прошла лишь загрузка базы.
Что делать дальше ниже:
1. Файлы includes/config.php и admin/includes/config.php остались девственно чистыми. Заполняем их нужным кодом. Вот такое должно быть содержимое includes/config.php:
<?php /* -------------------------------------------------------------- VamShop - open source ecommerce solution http://vamshop.ru http://vamshop.com Copyright (c) 2012 VamShop -------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce (configure.php,v 1.13 2003/02/10); www.oscommerce.com (c) 2004 xt:Commerce (configure.php,v 1.13 2003/02/10); xt-commerce.com Released under the GNU General Public License --------------------------------------------------------------*/ // Define the webserver and path parameters // * DIR_FS_* = Filesystem directories (local/physical) // * DIR_WS_* = Webserver directories (virtual/URL) define('HTTP_SERVER', 'http://ваш_домен.ru'); // eg, http://localhost - should not be empty for productive servers define('HTTPS_SERVER', 'http://ваш_домен.ru'); // eg, https://localhost - should not be empty for productive servers define('ENABLE_SSL', false); // secure webserver for checkout procedure? define('DIR_WS_CATALOG', '/'); // absolute path required define('DIR_FS_DOCUMENT_ROOT', '/home/...../public_html/'); define('DIR_FS_CATALOG', '/home/...../public_html/'); define('DIR_WS_IMAGES', 'images/'); define('DIR_WS_ORIGINAL_IMAGES', DIR_WS_IMAGES .'product_images/original_images/'); define('DIR_WS_THUMBNAIL_IMAGES', DIR_WS_IMAGES .'product_images/thumbnail_images/'); define('DIR_WS_INFO_IMAGES', DIR_WS_IMAGES .'product_images/info_images/'); define('DIR_WS_POPUP_IMAGES', DIR_WS_IMAGES .'product_images/popup_images/'); define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/'); define('DIR_WS_INCLUDES',DIR_FS_DOCUMENT_ROOT. 'includes/'); define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/'); define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/'); define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/'); define('DIR_WS_LANGUAGES', DIR_FS_CATALOG . 'lang/'); define('DIR_WS_DOWNLOAD_PUBLIC', DIR_WS_CATALOG . 'pub/'); define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/'); define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/'); define('DIR_FS_INC', DIR_FS_CATALOG . 'inc/'); define('DIR_FS_FORUM_ROOT', ''); define('DIR_FS_SITE_ROOT', ''); define('VAM_COOKIE_NAME', 'VAMCookie'); define('SESSION_WRITE_DIRECTORY', DIR_FS_CATALOG . 'tmp/'); // define our database connection define('DB_SERVER', 'localhost'); // eg, localhost - should not be empty for productive servers define('DB_SERVER_USERNAME', 'db_user'); define('DB_SERVER_PASSWORD', 'password'); define('DB_DATABASE', 'db_name'); define('USE_PCONNECT', 'false'); // use persistent connections? define('STORE_SESSIONS', ''); // leave empty '' for default handler or set to 'mysql' ?> |
А вот такое должно быть содержимое admin/includes/config.php:
<?php /* -------------------------------------------------------------- VamShop - open source ecommerce solution http://vamshop.ru http://vamshop.com Copyright (c) 2012 VamShop -------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce (configure.php,v 1.14 2003/02/21); www.oscommerce.com (c) 2004 xt:Commerce (configure.php,v 1.13 2003/02/10); xt-commerce.com Released under the GNU General Public License --------------------------------------------------------------*/ // Define the webserver and path parameters // * DIR_FS_* = Filesystem directories (local/physical) // * DIR_WS_* = Webserver directories (virtual/URL) define('HTTP_SERVER', 'http://ваш_домен.ru'); // eg, http://localhost or - https://localhost should not be empty for productive servers define('HTTP_CATALOG_SERVER', 'http://ваш_домен.ru'); define('HTTPS_CATALOG_SERVER', 'http://ваш_домен.ru'); define('ENABLE_SSL_CATALOG', 'false'); // secure webserver for catalog module define('DIR_FS_DOCUMENT_ROOT', '/home/...../public_html/'); // where the pages are located on the server define('DIR_WS_ADMIN', '/admin/'); // absolute path required define('DIR_FS_ADMIN', '/home/...../public_html/admin/'); // absolute pate required define('DIR_WS_CATALOG', '/'); // absolute path required define('DIR_FS_CATALOG', '/home/....../public_html/'); // absolute path required define('DIR_WS_IMAGES', 'images/'); define('DIR_FS_CATALOG_IMAGES', DIR_FS_CATALOG . 'images/'); define('DIR_FS_CATALOG_ORIGINAL_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/original_images/'); define('DIR_FS_CATALOG_THUMBNAIL_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/thumbnail_images/'); define('DIR_FS_CATALOG_INFO_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/info_images/'); define('DIR_FS_CATALOG_POPUP_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/popup_images/'); define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/'); define('DIR_WS_CATALOG_IMAGES', DIR_WS_CATALOG . 'images/'); define('DIR_WS_CATALOG_ORIGINAL_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/original_images/'); define('DIR_WS_CATALOG_THUMBNAIL_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/thumbnail_images/'); define('DIR_WS_CATALOG_INFO_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/info_images/'); define('DIR_WS_CATALOG_POPUP_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/popup_images/'); define('DIR_WS_INCLUDES', 'includes/'); define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/'); define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/'); define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/'); define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/'); define('DIR_WS_LANGUAGES', DIR_FS_CATALOG. 'lang/'); define('DIR_FS_LANGUAGES', DIR_FS_CATALOG. 'lang/'); define('DIR_FS_CATALOG_MODULES', DIR_FS_CATALOG . 'includes/modules/'); define('DIR_FS_BACKUP', DIR_FS_ADMIN . 'backups/'); define('DIR_FS_INC', DIR_FS_CATALOG . 'inc/'); define('DIR_WS_FILEMANAGER', DIR_WS_MODULES . 'fckeditor/editor/filemanager/browser/default/'); define('DIR_FS_FORUM_ROOT', ''); define('DIR_FS_SITE_ROOT', ''); define('VAM_COOKIE_NAME', 'VAMCookie'); define('SESSION_WRITE_DIRECTORY', DIR_FS_CATALOG . 'tmp/'); // define our database connection define('DB_SERVER', 'localhost'); // eg, localhost - should not be empty for productive servers define('DB_SERVER_USERNAME', 'db_user'); define('DB_SERVER_PASSWORD', 'password'); define('DB_DATABASE', 'db_name'); define('USE_PCONNECT', 'false'); // use persistent connections? define('STORE_SESSIONS', ''); // leave empty '' for default handler or set to 'mysql' ?> |
Обратите внимание, что пути и доступ к базе должны быть Ваши, а не те, что я тут указал для образца.
2. После этого магазин подымается. Но админ создан не был, содаем его. Регистрируемся в магазине обычным пользователем. Дальше открываем нашу базу в phpMyAdmin, находим таблицу customers. Для первой записи, а это наш созданный пользователь, меняем значение customers_status с 2 на 0. Тем самым мы его переводим в категорию администраторов и можем зайти в админку.
3. Создаем в корне магазина файл .htaccess с таким содержимым:
AddDefaultCharset utf-8 RewriteEngine On RewriteBase / RewriteRule ^product_reviews_write\.php\/info\/p(.*)_.*\.html product_reviews_write\.php\?products_id=$1 [L] RewriteRule ^product_reviews_write\.php\/action\/process\/info\/p([0-9]*)_.*\.html product_reviews_write\.php\?action=process\&products_id=$1 [L] RewriteRule ^product_info\.php\/info\/p(.*)_.*\/action\/add_product product_info\.php\?products_id=$1\&action=add_product\ [L] RewriteRule ^shopping_cart\.php\/products_id\/([0-9]*)\/info\/p([0-9]*)_.*\.html shopping_cart\.php\?products_id=$1 [L] RewriteRule ^(product_info|index|shop_content|news|faq|articles|article_info).php(.*)$ redirector.php [L] RewriteRule ^.*\.gif|\.jpg|\.jpeg|\.png|\.css|\.php|\.js$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.*).html(.*)$ manager.php [L] # PHP 5, Apache 1 and 2. <IfModule mod_php5.c> php_value magic_quotes_gpc 0 php_value register_globals 0 php_value session.auto_start 0 php_value mbstring.http_input pass php_value mbstring.http_output pass php_value mbstring.encoding_translation 0 php_value default_charset UTF-8 php_value mbstring.internal_encoding UTF-8 </IfModule> |
4. Еще остался один момент – настроить e-mail’ы в админке. Открываем «Настройки – Настройка E-Mail». И вписываем нужные значения «Свяжитесь с нами – E-Mail адрес», «Служба поддержки – E-Mail адрес» и т.д.
На этом все.
-
пишет:Вадим
День добрый!
Подскажите пожалуйста. У нас есть интернет-магазин на вамшопе 1.61. Возникла необходимость обновиться до 1.70. Пробовал обновляться поэтапно, сайт теряет функциональность… нельзя авторизоваться, попасть в админку, ошибки… Попробовал поставить 1.7 демо и сделать восстановление из резервной копии, а также подложил images и шаблон. Также пропадает форма авторизации, не работает ajax корзина и т.п.
Вопрос: а как же всё таки правильно обновляться, чтобы функционал сайта не пострадал?