Вот такой вот скрипт
У меня выдаёт ошибку 500, потому что дважды определяется класс wpdb
из файла wp-includes/wp-db.php
. Второй раз лишний, wp-load.php
уже подключает этот файл.
получаю на вывод экран выбора языка, хотя в функции указал какой язык использовать
У меня не воспроизвелось, если не менять префикс таблиц БД в wp-config.php
после установки.
Вопрос — что добавить в скрипт, чтобы все наконец заработало и он получил нужную мне локализацию?
В таком виде работает:
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
define( 'WP_INSTALLING', true );
require 'wp-load.php';
require 'wp-admin/includes/upgrade.php';
require 'wp-admin/includes/translation-install.php';
if ( is_blog_installed() ) {
echo 'Блог <b>уже</b> установлен!';
} else {
$locale = 'ru_RU'; // Заменить на {wp_lang_install}
if ( 'en_US' !== $locale ) {
wp_download_language_pack( $locale );
load_default_textdomain( $locale );
$GLOBALS['wp_locale'] = new WP_Locale();
}
// Вручную заменяю переменные в wp-config-sample.php
wp_install( {blog_title}, {wp_login}, {wp_email}, true, $deprecated = '', {wp_passwd}, $locale );
echo 'Блог установлен!';
}
<?php
echo 'Запущен скрипт установки блога<br />';
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
define( 'WP_INSTALLING', true );
require 'wp-load.php';
require 'wp-admin/includes/upgrade.php';
require 'wp-admin/includes/translation-install.php';
echo 'Подключены файлы<br />';
if(is_blog_installed()){
echo 'Блог <b>уже</b> установлен!';
} else {
if($config_sample = file_get_contents('wp-config-sample.php')){
$config_sample = str_replace('database_name_here', 'db_name', $config_sample);
$config_sample = str_replace('username_here', 'u_name', $config_sample);
$config_sample = str_replace('password_here', '5555', $config_sample);
$config_sample = str_replace('localhost', 'localhost', $config_sample);
$config_sample = str_replace('wp_', 'preffix_', $config_sample);
file_put_contents('wp-config.php', $config_sample);
}
wp_download_language_pack( 'en_EN' );
load_default_textdomain( 'en_EN' );
$GLOBALS['wp_locale'] = new WP_Locale();
wp_install('СС', 'user', '30615@mail.ru', true, $deprecated = '', 'uDjK6', 'en_EN');
echo 'Блог установлен!';
}
return;
?>
Я точно в такой же ситуации — результат работы скрипта, это на деле вывод страницы выбора языка и все, то есть открытие этого скрипта в корне сайта приводит к тому, что с него идет редирект, при этом очевидно, что даже файл настроек не создается, так как его поле работы в папке нету… Кажется все случается это только на этапе подключения файлов….
-
Ответ изменён 7 лет, 4 месяца назад пользователем sergey6996.
wp_download_language_pack( 'en_EN' );
Локали en_EN
не существует. Есть en_US
, но для неё не нужно скачивать языковой пакет.
Вручную заменяю переменные в wp-config-sample.php
Только сейчас обратил внимание на этот момент. wp-config-sample.php
трогать не нужно, нужно скопировать его в wp-config.php
и уже там менять значения.
очевидно, что даже файл настроек не создается
Его нужно создать вручную, см. выше.
http://afro.ecou.us/ — тут кстати можно увидеть, как это срабатывает. Скрипт — это http://afro.ecou.us/wp-install-my.php — который на самом деле проскакивает так ничего и не сделав. Именно его поправленное содержание есть тут, именно он не может сработать и сразу делает редирект на установку… Заменил на en_US, но кажется до этого просто не доходит…
Его нужно создать вручную, см. выше.
Я так и делаю в скрипте, то есть беру wp-config-sample.php — меняю в нем значение и на этом создаю новый wp-config.php ….
-
Ответ изменён 7 лет, 4 месяца назад пользователем sergey6996.
Кажется я понял в чем проблема — я не создаю файл заранее, файл конфигурации нужен сразу а не потом…
Я так и делаю в скрипте
Не заметил, теперь вижу 🙂
файл конфигурации нужен сразу а не потом
Именно так, ещё до подключения файлов. Иначе сработает функция wp_not_installed() и перенаправит на страницу установки.
Мда, пришел к другой проблеме с пользователями, сейчас поправлю и кажется все должно заработать…
Создал пользователя, путем двух sql запросов
CREATE USER 'wp_uid_1'@'localhost' IDENTIFIED BY '".$new_passwd."';
GRANT ALL PRIVILEGES ON db_uid_1.* TO 'wp_uid_1'@'localhost'
Но далее устанавливаю WP, где именно эту БД указал (единственную на которую у него есть права. как необходимую БД), но на удивление http://afro.ecou.us/ — соединение не стабильно… При этом в phpmyadmin — тоже войти не получается, просто потому что выдает мне 1045 ошибку. Хотя и не ругается на неверный логин или пароль…
Пришел к тому, что пользователю просто маловато привелегий, ну то есть не хватает чего-то чтобы подключаться… Правда, что именно ему не хватает понять сложно. При это я проверил, на другом сервере http://brica.xolds.ru/ точно так же созданный пользователь работает без проблемы.
Разница в том, что там где работает, он создавался через phpmyadmin первым делом и у него кажется есть в этом какое-то отличие, хотя какое понять сложно…
-
Ответ изменён 7 лет, 4 месяца назад пользователем sergey6996.
-
Ответ изменён 7 лет, 4 месяца назад пользователем sergey6996.
Все, сработало именно чуть поправил порядок (сделал конфиг файл в самую первую очередь еще вообще до всего). А для БД я просто пароль неверный устанавливал….