Я установил приложение Laravel и интегрировал WordPress в публичный каталог.
URL моего сайта такой
Laravel http://dev.local
Wordpress http://dev.local/blog
Я использую corecel pacakge для получения информации из wordpress в laravel, я столкнулся с одной проблемой, как я могу автоматически входить в wordpress dashbaord, когда пользователь входит в систему внутри laravel. Я знаю, что файл wp-load.php необходимо включить, а затем использовать следующий код.
$userid = $user->ID;
wp_set_auth_cookie($userid);
do_action('wp_login',$userid);
Я использовал подход с другим приложением-воспламенителем кода. Любой ведет меня, как достичь того же самого в Laravel.
Возможное решение
1. Авторизуйтесь с помощью curl при аутентификации Laravel.
$username="admin";
$password="admin";
$url="http://dev.local/golf/";
$cookie="cookie.txt";
$postdata = "log=". $username ."&pwd=". $password ."&wp-submit=Log%20In&redirect_to=". $url ."wp-admin/&testcookie=1";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url . "wp-login.php");
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url . "wp-admin/");
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
curl_close($ch);
echo $result;
Примечание: запрос curl дает это. Файлы cookie заблокированы или не поддерживаются вашим браузером. Вы должны включить куки, чтобы использовать WordPress.
Решение 2. Загрузите файл wp-laod.php и установите файл cookie.
Route::get('/wordpress', function(){
require('..\wordpress\wp-load.php');
return loginUser(Auth::user()->username);
});
Примечание: выдает следующую ошибку. FatalErrorException в l10n.php, строка 203: невозможно повторно объявить __ () (ранее объявлено в
Пожалуйста, кто-нибудь подскажет мне, как добиться автоматического входа в Wordpress при входе пользователя в laravel.