MacでLAMP構築したら一筋縄ではいかなかった

メモ。

LAMPのLはLinuxで、Macで組んだらMAMPとかいうらしいけど、なんかカッコ悪いから今やMac=Linuxということで。

なんか結構苦労したんですけど。
茨の道を選んでしまったらしい。

全てワンセットのチュートリアルを選べばもう少し簡単だったのかもしれない。MySQLの意地の悪いセキュリティ仕様変更に翻弄された印象。

Apache。Mac Sierraデフォルトを使用。
PHP。これもMacに入ってたやつそのまま。
MySQLはHomebrewで新規インストール。

sudo vi /etc/php.ini
以下の二行のコメントアウトを外す。

extension=php_mysqli.dll
extension=php_pdo_mysql.dll

MySQLのユーザとDBを作成。DBにGRANT ALLしようとすると権限がないと怒られる。rootユーザなのにどういうことだ??と思ってググったり試行錯誤するも上手くいかない。試しに rootユーザーのパスワードを設定してみたら(導入したばかりで設定してなかった)うまくいった。こういうしょうもないトラップやめようぜ、ホント。せめて「rootのパスワードセットしないとダメだよ」みたいな分かりやすいエラー出そうぜ。

接続しようとするとエラー。
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
こちらのページを参考に設定変更。
https://symfoware.blog.fc2.com/blog-entry-2160.html

やはりエラー発生。
"SQLSTATE[HY000] [1045] Access denied for user 'testuser'@'localhost' (using password: YES)"

もしや?と思って接続ユーザのパスワードを同じもので再設定してみたら上手くいった。

<?php
$host = 'localhost:3306';
$dbname = 'jazz_db';
$dbuser = 'testuser';
$dbpassword = 'password';

try{
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8","$dbuser","$dbpassword");
    echo "SUCCESS";
} catch(PDOException $e) {
    var_dump($e -> getMessage());
    die();
}
?>


なんだか出来合いのコンテンツ管理システムでいいんじゃねーの?という気がしてしまった。40超えると面倒臭くなるのが早い。若い頃はこういう苦労をもっと楽しめていた。

昔話。
DOS/V機にLinux入れるのに悪戦苦闘したなあ。Xがなかなか立ち上がらなくてね。今は随分楽になったんだから、このくらいのことで文句言っちゃいかん。うん。

コメント

人気の投稿