вторник, 9 апреля 2013 г.

Установка Apache 2.2.22, PHP 5.3.23 и MySQL 5.6.10.1

 

После установки на Windows 2003 R2 x 64 SP2  апача и прикручивания к нему PHP при запуске апача стала выдаваться ошибка типа:

php5apache2_2.dll into server: The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.

Сто раз проверил настройки запуска php как модуля, а вся фишка оказалась в том что надо было установить пакет Microsoft Visual C++ 2008 Redistributable Package (x86) vcredist_x86.exe

и все заработало.

Потом поверх распаковал PHP 5.4.13, и тоже все заработало

 

так же нашел интересный ресурс где есть бинарники апача x64

http://www.apachelounge.com/

Для мускула понадобилось установить Microsoft .NET Framework 4 x64

чтобы нормально заработал phpMyAdmin

в настройках php.ini надо расскоментировать строчку extension=php_bz2.dll

и как оказалось еще нужно это расскоментировать

extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll <- это пришлось скачать отдельно
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_zip.dll <- это прошлось скачать отдельно

эти две dll не шли в поставке php в архиве… скачал отдельно поиском в гугле

и еще статейка по настройке phpMyAdmin

 

Вместо тестирования нашего хозяйства, предлагаю установить скрипт phpMyAdmin для управления базой данных MySQL. Если он будет работать, значит мы все сделали правильно и можем собой гордиться. Ну а если работать не будет, значит во всем виновато трудное детство и недостаток витаминов, на чем и порешим. :)

Остановите сервис Apache выполнив в командной строке "C:\Apache2\bin\httpd.exe -k stop", либо с помощью пакетного файла "stop-webserver.bat". Распакуйте архив в каталог "C:\apache\localhost\www\". Появившуюся папку, для большего удобства, желательно переименовать в "phpmyadmin". Далее, в каталоге "C:\apache\localhost\www\phpmyadmin" создайте файл "config.inc.php" следующего содержания (не забудьте вписать пароль пользователя "root", который вы создавали при установке MySQL):

<?php
  $i = 0;
  $i++;
  $cfg['Servers'][$i]['host'] = 'localhost';
  $cfg['Servers'][$i]['extension'] = 'mysqli';
  $cfg['Servers'][$i]['connect_type'] = 'tcp';
  $cfg['Servers'][$i]['compress'] = false;
  $cfg['Servers'][$i]['auth_type'] = 'config';
  $cfg['Servers'][$i]['user'] = 'root';
  $cfg['Servers'][$i]['password'] = 'пароль'; // Пароль пользователя root
?>


Обратите внимание (!), что при подключении мы указываем phpMyAdmin, использовать расширение "mysqli", так как установленный нами MySQL 5, и произведенные выше настройки PHP 5, позволяют полноценно работать с функциями данного расширения.

Далее откройте многострадальный httpd.conf и добавьте в блок начинающийся строкой:
<IfModule alias_module>
Следующую строку:
Alias /pma "C:/apache/localhost/www/phpmyadmin"

Теперь запустите сервисы с помощью пакетного файла start-webserver.bat и введите в адресной строке браузера "localhost/phpmyadmin". Вы увидите основное окно скрипта phpMyAdmin для управления базами данных MySQL. Благодаря добавленной нами выше строке в конфигурационный файл Apache (так называемый алиас), мы также можем попасть в phpMyAdmin из любого хоста, для чего понадобится установить виртуальный хост и ввести в адресной строке браузера адрес вида: "имя хоста"/pma. Например: http://www.test.ru/pma.

Далее мы воспользуемся возможностью установить расширение функциональности phpMyAdmin, позволяющее работать с закладками, историями вводимых команд, дизайнером связанных таблиц и некоторыми другими дополнительными функциями.

Для установки расширения сперва необходимо создать базу данных "phpmyadmin" и импортировать в нее специально предназначенные таблицы, для чего выберите на главной странице ссылку "Import" ("Импорт"), на открывшейся странице, в разделе "File to import" ("Импортируемый файл") нажмите кнопку "Browse..." ("Обзор..."), выберите файл "create_tables.sql", находящийся в каталоге "examples", и нажмите кнопку "Go" ("OK").

Следующим шагом необходимо создать специального пользователя с именем "pma" и наделить его соответствующими правами, для чего нажмите "Privileges" ("Привилегии"), на открывшейся странице нажмите ссылку "Add a new User" ("Добавить нового пользователя"), в разделе "Login Information" ("Информация учетной записи") заполните поля следующим образом:

User name (Имя пользователя): pma
Host (Хост): localhost
Password (Пароль): придумайте пароль


Нажмите кнопку "Go" (OK).

На открывшейся странице, в разделе "Database-specific privileges" ("Привилегии уровня базы данных") из ниспадающего меню "Add privileges on the following database:" ("Добавить привилегии на следующую базу") выберите "phpmyadmin". Откроется следующая страница, где в разделе "Database-specific privileges" ("Привилегии уровня базы данных"), в блоке "Data" ("Данные"), поставьте галочки рядом с опциями: SELECT, INSERT, UPDATE, DELETE и нажмите "Go" ("OK").

И последнее что надо сделать – это вновь открыть конфигурационный файл phpMyAdmin "config.inc.php" и добавить несколько новых директив. Все содержимое конфигурационного файла должно будет выглядеть примерно так:

<?php
  $i = 0;
  $i++;
  $cfg['Servers'][$i]['host'] = 'localhost';
  $cfg['Servers'][$i]['extension'] = 'mysqli';
  $cfg['Servers'][$i]['connect_type'] = 'tcp';
  $cfg['Servers'][$i]['compress'] = false;
  $cfg['Servers'][$i]['auth_type'] = 'config';
  $cfg['Servers'][$i]['user'] = 'root';
  $cfg['Servers'][$i]['password'] = 'пароль'; /* Пароль пользователя root. */
  $cfg['Servers'][$i]['controlhost'] = 'localhost';
  $cfg['Servers'][$i]['controluser'] = 'pma'; /* Имя созданного вами только что пользователя для доступа к расширенным таблицам. */
  $cfg['Servers'][$i]['controlpass'] = 'пароль'; /* А здесь его пароль. */
  $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
  $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
  $cfg['Servers'][$i]['relation'] = 'pma_relation';
  $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
  $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
  $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
  $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
  $cfg['Servers'][$i]['history'] = 'pma_history';
  $cfg['Servers'][$i]['tracking'] = 'pma_tracking';
  $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
  $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
  $cfg['Servers'][$i]['recent'] = 'pma_recent';
  $cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
?>


Теперь у вас будет возможность воспользоваться всеми дополнительными функциями скрипта phpMyAdmin.

http://php-myadmin.ru/learning/instrument-pma.html

по ходу еще восстанавливал и сайт на Drupal

выскочила вот такая ошибка

ошибка друпал Fatal error: Undefined class constant 'MYSQL_ATTR_USE_BUFFERED_QUERY' in ncludes\database\mysql\database.inc on line 42

решение

раскомментируйте строчку в конфигурационном файле php.ini и перезапустите апач apache (если в начале строчки есть точка с запятой - удалите их) должно выглядить так =

extension=php_pdo_mysql.dll

кроме того на Drupal заработала только основная станица, все ссылки из меню не работали

помогло следующее решение

В файле настроек нужного сайта (домена) указать в самом конце, чтобы переопределить эту переменную, если она уже есть в этом файле:
$conf['clean_url'] = 0;

взято от сюда http://drupal.ua/groups/drupal-kukhnya/otklyuchit-quotchistye-ssylkiquot-clean-urls

 

ну и на всяк случай полезная инфа

В Joomla есть файл configuration.php, в котором есть строчки:

var $host = 'сервер';
var $user = 'имя_пользователя';
var $db = 'имя_базы_данных';
var $password = 'пароль';

В WordPress есть файл wp-config.php, в котором есть строчки:
define('DB_NAME', 'имя_базы_данных');
define('DB_USER', 'имя_пользователя');
define('DB_HOST', 'сервер');
define('DB_PASSWORD', 'пароль');

В Drupal в папке /site/default/ есть файл settings.php, в котором есть строчка $db_url = 'mysql://username:password@mysqlhost/databasename';
Где:
username - имя пользователя;
password - пароль;
mysqlhost - сервер базы данных;
databasename - имя базы данных.

В DLE в папке /engine/data/ есть файл dbconfig.php, в котором подключение к базе прописывается в строчках:
define ("DBHOST", "сервер");
define ("DBNAME", "имя_базы_данных");
define ("DBUSER", "имя_пользователя");
define ("DBPASS", "пароль");

В Shop-script подключение настраивается в файле /cfg/connect.inc.php
define('DB_HOST', 'сервер');
define('DB_USER', 'имя_пользователя');
define('DB_PASS', 'пароль');
define('DB_NAME', 'имя_базы_данных');

В ShopCMS база данных подключается в файле /core/config/connect.inc.php
define('DB_HOST', 'сервер');
define('DB_USER', 'имя_пользователя');
define('DB_PASS', 'пароль');
define('DB_NAME', 'имя_базы_данных');

В WebAsyst всё немного сложнее. Там есть файл /dblist/логин.xml в котором за соединение с базой отвечают следующие параметры:
SQLSERVER="сервер"
DB_NAME="имя_базы_данных"
DB_PASSWORD="пароль"
DB_USER="имя_пользователя"
а также в файле кеша /temp/scdb/.settings.логин дублируются эти же параметры:
"DB_USER" "имя_пользователя"
"DB_PASS" "пароль"
"DB_NAME" "имя_базы_данных"
"DB_HOST" "сервер"

В PrestaShop подключение настраивается в файле /config/settings.inc.php
define('_DB_NAME_', 'имя_базы_данных');
define('_DB_SERVER_', 'сервер');
define('_DB_USER_', 'имя_пользователя');
define('_DB_PASSWD_', 'пароль');