カテゴリー
Laravel PHP ただの現状記述 (Daily Activities) プログラミング (Programming)

Laravel貴重な情報

Laravelはもともと英語圏のソフトですが、有志により日本語化が積極的にされていまこのページにそれがあります ありがたいことです

php -r "copy('https://readouble.com/laravel/6.x/ja/install-ja-lang-files.php', 'install-ja-lang.php');"
php -f install-ja-lang.php
php -r "unlink('install-ja-lang.php');"

これが挙げられているコマンドです

カテゴリー
Laravel Mac PHP ただの現状記述 (Daily Activities) インターネット一般 (Internet General) コンピューター (Computer) プログラミング (Programming)

色々な情報

この MAMP/MySQL/Laravelでの接続不良で随分と調べました。日にちを数えてみたのですが、正解が出てくるまでに、結局約2週間を費やしました。その中で、色々なサイトから貴重な情報を得ることができました。たとえばこのサイトからは、MySQLの password形式について学びました。

MySQLユーザー認証方式変更
MySQLユーザー認証方式変更

結局これが原因の本筋ではありませんでしたが、貴重な情報提供に感謝感謝です。

カテゴリー
Laravel Mac PHP ただの現状記述 (Daily Activities) コンピューター (Computer) プログラミング (Programming)

1週間にわたる苦闘の終了

これまで1週間かかって Laravelの database接続不能に対峙してきました。色々なことを調べ、いくつもの問題点を解決し、そしてさらには MacOSのみならず、Windowsにもインストールして試みました。

今朝までに判明したことは、色々と改善しても、この問題点のみ残る、ということでした。それは Laravelにおいて、MySQL databaseとの接続に際して下記のようなエラーが起こるということです:

何時までも消えないエラー
何時までも消えないエラー

このサラッとしたエラーに悩まされました。しかも調べていると、このエラーは MAMPにより仮想インターネットサーバーを走らせている MacBook Pro Catalinaでのみ起こり、Parallels-Windows-XAMPPあるいは Surface-Pro – XAMPPでは見られないのです。このようにある時のみ発生するエラーというのは原因究明に困りますよね。

結局判明したのが、何とこんなことだったのです

MAMP main screen
MAMP main screen

この中の Allow network access to mysqlというチェックボックスをチェックせねばならないのです。このボタンは defaultでは offになっているので分からないのです。

これで解決しました。これで Laravelを使いこなすようになって Coronaに勝利するのです。

カテゴリー
Laravel Mac PHP ただの現状記述 (Daily Activities) コンピューター (Computer) プログラミング (Programming)

どうしても解決しない

さて、Laravelに向かって進んでいるのですが、一向に前に進めません。その理由は、最初の migrationで躓いているのです。要するに、migrateすると下記のエラーが出てしまうのです・・・

Illuminate\Database\QueryException
SQLSTATE[HY000] [2002] Connection refused (SQL: select * from `books`)

どうしてこのエラーが出るのかさっぱり分かりません。もちろん色々と調べ、その指示に従い改善してきました。しかし解決しません。

ここまでやってきたことは mysql設定が主です。そして、試みたマシンが MacBook Pro Catalina、Surface-Pro Windows 10、そして Parallels Windows 10 on MacBook Proなのですが、予想していた通りと言っては怖いのですが、なんとこのエラーが出現するのは MacBook Pro Catalinaだけなのです。

こうなると Catalinaが悪い、とも思えてきますが、今のところ調査した範囲では Catalinaの厳しい securityと Laravelが合わない、という話は聞いたことがありません。困りました

カテゴリー
PHP ただの現状記述 (Daily Activities) プログラミング (Programming)

XAMPPで躓く

さて、Laravelにかまけてきたのですが、MacOSでXAMPP or MAMPにより仮想サーバーを立てて Laravelをインストールした試みでは、どうしても 何回やっても

php artisan migrate

でエラーが出て先に進まないのです。もうお手上げ状態ですので、今度は Windows10にインストールしてみました。まずは XAMPPをインストールたのですが、これが何回インストール試みても http server = Apacheが立ち上がらず、当然のことながらその最頻回にある原因は port 80が既に専有されているため、なのですよね。そこでそれを調べてもどう考えても port 80は開放されていてさらに原因不明。

思い返せば、XAMPPを最新versionにしようと思って、古いXAMPP捨てよう! などと思い付き、その結果、XAMPP folderをそのままゴミ箱にポイしたのがいけなかったのだいあ??

きっと、本当は uninstallerで捨てなくてはいけないのにそんなことしたからきっとゴミが registry databaseに残っているのかなあ きっとそうなんだ。

ではどうやって解決するか? もう Windows10を clean installするしかありません そしてやりました。この結果 XAMPPはきちんと動作するようになったのです。

しかし、ここから mysql (現在は MariaDBと呼び名が変わっています)を立ち上げ、最初の user name / password設定をしたのですが、ここで躓きです 最初なので user name = rootにしています XAMPPの shellから

#mysql -u root

と打ち込むと

MariaDB[(none)]>

と待受になりますが、ここで password設定するのですが、ここに書いてあるように

update mysql.user set password=password('my_password`) where user = 'root';

と打ち込んだところ、エラーとなるのです そのエラーの出力は

ERROR 2002 (HY000): Can't connect to MySQL server on 'localhost' (10061)

というものなのです なんだか何回も遭遇したようなエラーですが、これで検索してヒットしたのがこのページです これによればコマンドが変更となり次のように打たねばならないようです

#mysql -u root -p   //ここでリターンを押すことが重要
// そうすると次のような待受になるのでコマンド打ち込みする
MariaDB [(none)]>ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
MariaDB [(none)]>flush privileges;

これでようやく rootのパスワードが変更できました。

カテゴリー
Laravel PHP ただの現状記述 (Daily Activities) コンピューター (Computer) プログラミング (Programming)

なかなか Laravelで MySQLに接続できない

つい最近の投稿がありました まさしくここに僕がこの一日間悩みぬいた問題の解決策がありました こんなことどこにも書いていません

$mysql -u root -p****

#これで mysql consoleに入れますので promptが変わります

mysql> select host, user from mysql.user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| 127.0.0.1 | root          |
| ::1       | root          |
| localhost | laraveluser   |
| localhost | mamp          |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
7 rows in set (0.00 sec)

mysql> create user 'laraveluser'@'localhost' identified by 'laravelpassword';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on laravel.* to 'laraveluser'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> alter user 'laraveluser'@'localhost' identified with mysql_native_password by 'laravelpassword';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT user, host, plugin FROM mysql.user;
+---------------+-----------+-----------------------+
| user          | host      | plugin                |
+---------------+-----------+-----------------------+
| root          | localhost | mysql_native_password |
| mysql.session | localhost | mysql_native_password |
| mysql.sys     | localhost | mysql_native_password |
| mamp          | localhost | mysql_native_password |
| root          | 127.0.0.1 | mysql_native_password |
| root          | ::1       | mysql_native_password |
| laraveluser   | localhost | mysql_native_password |
+---------------+-----------+-----------------------+
7 rows in set (0.00 sec)

さてここまでやっとたどり着きました

カテゴリー
Laravel Mac PHP ただの現状記述 (Daily Activities) コンピューター (Computer) プログラミング (Programming)

MAMPで走っている MySQL (Marina DB)コンソールを使うには?

このすべての意欲を無くす勢いの Coronarvirusですが、それに負けてはいけません。これを機会と捉えて前に進まねばならないのです。そしてその時には、これまでできなかった自分の中での革命的ステージに進まなければならない、そのように考えています。

今選択しているのが、この機会にどうしても突き破れなかった PHP Framework/Laravelの壁です たくさんの壁が立ち向かいますが、それぞれに正面突破していくのです。

本日は、MAMPで走っている MySQLのコンソールをどのように立ち上げ、そしてmysql commandを使うのか? という問題です。なかなかそんな場面には遭遇しないのですが、これを使いこなせるか否かで明らかにステージが違います。まずは、MAMPで mysqlコマンドを立ち上げるには?

$ls /Application/MAMP/Libraries/bin/

> -rwxr-xr-x  1 transradial  admin   5150176  2 17 23:14 mysql

はいこれで、MAMPで走っているmysqlコマンドの場所がわかりましたので、それを$PATHに書き込みます

$export PATH="/Applications/MAMP/Library/bin:$PATH"
$source ~/.zshrc

これで MAMPのApach/MySQLが作動開始していれば、zshで以下のようにmysql console commandが立ち上がります

$mysql -u **** -p++++++;

mysq>

もちろん -uの後は半角スペースあけて user name (通常はroot)ですね、そして -pの後は半角スペースを開けないで passwordを入れます。これで mysqlのコマンド待ちとなります。

さて、mysql commandから shellコマンドを立ち上げるにはどうすれば良いでしょうか? これはこのようにするのです

mysql>\! ls

上記は shell command lsを打ち込んだものですが、このように backslushに続いて!を入れ、そして半角スペース開けてコマンドを入れるのです。知らなかったなあ こんな世界、それでステージクリアです。それにしても本日は寒いです。

カテゴリー
SQL インターネット一般 (Internet General) コンピューター (Computer) プログラミング (Programming)

MAMPで mysqlをターミナルから動作させるには?

さて、Laravel 6.x or 7.xが何となく走り出しました 通常僕の Macでは local環境では MAMPにより LAMPを実現しています。

もちろん、こんなことしないでも Homebrewで最新の apach, php, mysqlなど走らせてそれで LAMPとするのが本道でしょうが、なかなか自分にはそこまでのスキルがありませんので、ついつい MAMP/XAMPPを頼ってしまいます。

さて、Laravelを走らせて早速つまづいたのが、どうやってMAMPでの mysqlをターミナルで走らせるか? です。

色々調べましたが、MAMPの中の mysql実行ファイルは僕の場合、/Application/MAMP/Library/bin/の中にあることが分かりました。

そこで、

$ ./Application/Library/bin/mysql -u -p

とすることにより動作させることができる筈なのですが、エラーが出るのです

これに対しては、ここで解決しました 良かった良かった

カテゴリー
Laravel PHP ただの現状記述 (Daily Activities) プログラミング (Programming)

ついに laravelに一歩踏み出し

php frameworkでいちばん人気なのは Laravelですよね。以前よりこれを取り込まねば時代に取り残される、と思っていたのですが、Frameworkというのは、その世界に入り込まねば使いこなすことはできません。

なんとかjQueryとか、Bootstrapとかにはついてきたのですが、Laravelとなると位が違います。

もちろん世の中にはたくさんの Laravel解説本やらサイトがありますが、僕の場合、html/php/sqlなど使いこなしてサイトをこれまでさんざん作ってきたので、新たに Frameworkの独自の世界に入り込むのは気が引けていたのです。

でも頑張って飛び込みました。とりあえずはトップページを制作することができそうです。もちろんモデルは kamakuralive.netです。これを模して Laravelで作りたいと思います。

カテゴリー
ただの現状記述 (Daily Activities) 日本国内 (Japan Domestic) 未分類 (Unclassified) 鎌倉 (KAMAKURA)

氷雨降る鎌倉小町通り

本日日曜日、朝から氷雨が降っていました とても寒い一日でしたが、このコロナ騒ぎで小町通りの人出が心配になり、バスで出かけました

何時もは雨と云えども、日曜日でしかも梅から桜になる絶好の季節ですから小町通りはもっと人出があると思いましたが、その季節に混雑の小町通りまで出かけたことがないので、実態は分かりません

氷雨降る日曜日の小町通り
氷雨降る日曜日の小町通り

人での中に中国や韓国からの観光客の方々はお見かけしませんでしたが、その他の国々からの外国人の観光客の方々もパラパラおられました。しかし大多数は日本人の方々でした。寒い日だったので、うどん屋さんなど温かい食べ物の店はそれなりに混んでいましたが、やはり全体的に人では少ない印象でした。

以前から一度入りたいと思っていたのですが、人出が多く尻込みしていた昔からの喫茶店にようやく入りましたが、とても良い雰囲気で「さすが鎌倉」と思いました。

喫茶「みにこむ」
喫茶「みにこむ」

とても良い雰囲気の喫茶店です マスターはもう80歳に近いと思いますが、コーヒーにこだわりがある感じでした おみれの中の雰囲気もとても良いですので鎌倉に来られた時は是非とも訪れて下さい

喫茶「みにこむ」の中
喫茶「みにこむ」の中