GattsCOM

ブログ

BLOG

  1. Home
  2. Blog

2022年 明けましておめでとうございます。

LaravelでNamespace declaration statement has to be

rsyncでバックアップしようとしたら10秒ほどで切断・・・

LaravelでQRコードを生成、作成する

Laravelでルートは合ってるのに、Not Foundが出る解決方法

Laravel4でDB(データベース)のバックアップを取る

私は、現在Laravelのバージョンは5.7や5.8を使うことが多いのですが昔使ってたLaravel4.2のバージョンでまだ動いてる物もあったりします。そこで、今回はちょっと古い情報だけど、Laravel4でもデータベースのバックアップする方法を書きます!まずは下記のリンクを参照してください。と言っても、導入のやり方なども、このあと書いて行くので見なくてもOKですLarave-Backup↑ここが本家!まずは、composerに記述しましょう!!終わったら、Laravel側のapp/config/app.phpに下記記述してください設定は以上です!簡単ですね!!サクッと終わりました!あとは、ターミナルなどでphp artisan db:backupしたら、「app/storage/dumps/」ってところに「○○○○○○○.sql」ってファイルが出来てます!!中身は、きれいにdumpデータが書かれていますね!ターミナルじゃなくて、Laravel内で動かしたい人!!わかりますよその気持。ってことで、Laravel内で動かす場合はこちら!と書けば、同じ処理が出来ます。え?ファイル名を付けれないのか?って?もちろん付けれますよ!!app/storage/dumpsに事前にディレクトリを作って、そこを指定することも出来ます。その場合はなんてことも出来ます。でも、上に書いた「app_path().'/storage/dumps/bkupfile/'」の「bkupfile」と言うディレクトリは事前に作っておきましょう!No such Directory!ってエラーで怒られます。それでは、最後にバックアップしたデータを復元する方法を書きます!本家にも書かれていますがphp artisan db:restore filename.sqlで、出来ます。ですので、先程と同じでLaravel内で同じことがしたい場合は。で、出来ますよ!!しかも、バックアップ処理速度もかなり早いので便利です。また、良い情報集めて公開しま〜す。少しでも役に立てたら、嬉しいですねぇ〜(^o^)v

Laravelで簡単にバックアップしてCronで別サーバーへFTP転送までを自動化してみた

久しぶりの投稿です。12月は忙しく、事務所の移転もしたりとバタバタでした。回線の移動が、ビビりまくりでしたねぇ!!と言うことで、本題に戻しますw今までCronを使ってシェルなどを動かしてバックアップを取っていたのですがLaravelには凄く便利なバックアップ方法がありましたので、そちらを共有したいと思います!!spatie/laravel-backup:5.* ← 5.*はLarave V5系ならこれ。Laravel 6系ならspatie/laravel-backup:5.* → spatie/laravel-backupとしてください。実行したら、だらだら〜とインストールが始まってPackage manifest generated successfully.って出たら完了です次にとすると、configディレクトリにbackup.phpが生成されます。こちらは、特に触らなくても問題ないです。一応実行だけしときます。このファイルはバックアップの場所とか色々設定ができます。ここまでしたら、一旦完了です!!すげー!簡単だ!!たぶん色々とエラーは出ると思いますが、実行はされてるはずです。エラーが出る人はphp artisan backup:run --disable-notificationsこちらで実行してみてください。実行結果は、/Laravel_Root/storage/Laravel/の中にzipファイルが出来上がります。このzipファイルの中に、LaravelのソースコードとDatabaseのdumpデータが入っています。もし、zipのパッケージが入ってない人はパッケージをインストールしてください。インストール方法はzipをインストールしたら、もう一度php artisan backup:runを実行してみてください。/Laravel_Root/storage/Laravel/ の中にzipファイルができましたか??出来てない人は、チャットなどで問合せてくださいw時間を見て順次返答してみます。ここまでで、一旦サーバーにバックアップを創ることが出来たと思います。ですが、サーバーにバックアップを取っても、サーバーがぶっ飛んだら意味がない!!!と言うことで、弊社は別のサーバーをバックアップに立てて、そちらにバックアップデータを入れています。この場合はFTPやSFTPとかでアップしてるので(scpとか使わないの?とか言わないでくださいね。)先にそちらの話しをしてみましょう!!!LaravelにはStorageクラスというものがあり、こちらが非常に便利です!!!まずは、config/filesystem.phpを開いてみましょう!!今回はFTPとしていますが、SFTPなどもいけますし見てわかるように、s3などへも簡単に出来ますよ。https://readouble.com/laravel/5.5/ja/filesystem.htmlこちらを参考にしてもらったら、Storageクラスがある程度わかると思います。細かくポートやパッシブモードなども設定できます。次に、転送させる為のコードを書くのですがこのコードを実行すると、自動的にconfig/filesystem.phpで設定した、FTPへファイルを作ります。なんとたったの1行!!すげー!さて、ここまでで、バックアップファイルの生成からFTPへ転送までが完了しましたここから、それじゃーバックアップしたデータを自動的にFTPへ転送してぇ〜よ!ってところでここで登場するのが、Cronです。Cronはサーバーで指定した時間に自動的に実行してくれる便利な機能です。Cronの設定は、各々扱うユーザーなどが違うかもなので、私の設定で書きます。まずはSSHで書かないといけないので、順に説明しながら書いていきます。急に英語でてきて、わかんねぇ!!って言わないでくださいねwとりあえず、少し話しは脱線しますが、Cronの説明をしていきます。* * * * * ← 5つの*がありますが、こちら、英語の説明を簡単に訳すと1つ目の* 分 (0〜59)2つ目の* 時間 (0〜23)3つ目の* 日 (1〜31)4つ目の* 月 (1〜12) (数字じゃなくて、jan,feb,mar,apr ...みたいに書いてもいいよ!)5つ目の* 週 (0〜6) (0:日曜、1:月曜、2:火曜、3:水曜、4:木曜、5:金曜、6:土曜) 数字じゃなくても(sun,mon,tue,wed,thu,fri,sat みたいに書いてもいいよ!)という風になっています。例題をいくつか作ってみましょう。毎日朝4時30分に実行したい場合は30 4 * * * となります。毎週月曜日の朝4時30分に実行する場合は30 4 * * 1となります。毎月1日の朝4時30分に実行する場合は30 4 1 * *となります。だいたい、わかりましたか?それでは、これで話しを本題に戻しましょう。次に、Laravel側の設定をしないといけません。/Laravel_Root/app/Console/Karnel.phpのファイルを開きます。このようになっていると思います。こちらのschedule関数の中を少し触ります。このように、登録することで、SSHからartisanコマンドで、このschedule関数を呼び出すことが出来ます。実際にやってみましょう!↑さっきは php artisan backup:runでしたが、今回はschedule:runです。schedule関数を呼び出しています。これをすることで、先程 /Laravel_Root/app/Console/Karnel.phpで書かれたschedule関数が動きます。スケジュール関数には$schedule->command('backup:clean'); //←追加$schedule->command('backup:run'); //←追加この2つを登録したので、まずは古いバックアップをクリーンにしてから、新しいバックアップを創る処理をしていますね。なので、schedule:runをしたらこちらが動きます。ほんとにわかりやすいですね〜(^o^)v続いて、この中に(不細工なやり方ではありますが....)scheduleのcall関数を使って、このままFTPへ転送の処理も書いちゃおう!これで、SSHからphp artisan schedule:runを動かすと1:古いバックアップデータをクリーンする。2:新しいバックアップを作成する。(zipの中身は、Laravelのソース+Sqlのdumpデータ)3:ファイルが出来たら、自動的に別で用意してるFTPへ転送する。という所が出来ました。ここまで来たら、あとはCronで設定するだけですね。あとは、朝4時30分になると、Cronが自動的に処理してくれます。ここまでで、Laravelの公式にも書かれているspatieを使って、Laravelのソースコードやデータベースのバックアップを取ってそれを自動的にzipファイルにしてくれて、そのzipをまるごとFTPへ転送!!なんとCronも使って全自動!ってことで、かなり長くなりましたが、これで出来ると思います。余談を書くと、zipファイルが残るようであればサーバー内の容量が食われるのでFTPの転送が終われば、Storage::deleteを使ってファイルの削除をしてたほうが良いかも知れませんね。それでは、長々となりましたが、最後まで読んでいただきありがとうございました〜ちょくちょく更新がんばります〜m(_ _)m

CentOS7さくらのVPSに複数SSL設定をしたら、Apacheが再起動出来なくてハマッた

さくらのVPSにCentOS7を入れて、その他ちょこちょこ入れて(まぁここはどうでもいい)お客さんのサイトをhttps(SSL)化しており、同じサーバーでもう一つお客さんのサイトをhttps(SSL)しないと行けなくて設定したところ、Apacheの再起動が出来ず数時間ハマッた話し。結論は解決したので、その経緯を!!環境・さくらVPS・CentOS Linux release 7.2.1511 (Core)・Server version: Apache/2.4.6 (CentOS)・PHP Ver.7.1.26p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Andale Mono'; color: #2fff12; background-color: #000000; background-color: rgba(0, 0, 0, 0.77)}span.s1 {font-variant-ligatures: no-common-ligatures}以前のdomain1はこの設定で動いていたのでdomain2を追加してみたこの状態で、Apacheを再起動する。systemctl restart httpd (Apache再起動)すると。こんなエラーが出る。Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.あらら?とエラーの中にsystemctl status httpd.serviceと書かれているのでやってみるsystemctl status http● httpd.service - The Apache HTTP Server   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)   Active: failed (Result: exit-code) since 水 2019-05-22 17:05:30 JST; 21s ago     Docs: man:httpd(8)           man:apachectl(8)  Process: 12625 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)  Process: 7140 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)  Process: 12623 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE) Main PID: 12623 (code=exited, status=1/FAILURE) 5月 22 17:05:30 ******.vs.sakura.ne.jp httpd[12623]: In order to read them you have to provide the pass phrases. 5月 22 17:05:30 ******.vs.sakura.ne.jp httpd[12623]: Server ******.vs.sakura.ne.jp:443 (RSA) 5月 22 17:05:30 ******.vs.sakura.ne.jp httpd[12623]: Enter pass phrase:Apache:mod_ssl:Error: Private key not found. 5月 22 17:05:30 ******.vs.sakura.ne.jp httpd[12623]: **Stopped 5月 22 17:05:30 ******.vs.sakura.ne.jp systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE 5月 22 17:05:30 ******.vs.sakura.ne.jp kill[12625]: kill: cannot find process "" 5月 22 17:05:30 ******.vs.sakura.ne.jp systemd[1]: httpd.service: control process exited, code=exited status=1 5月 22 17:05:30 ******.vs.sakura.ne.jp systemd[1]: Failed to start The Apache HTTP Server. 5月 22 17:05:30 ******.vs.sakura.ne.jp systemd[1]: Unit httpd.service entered failed state. 5月 22 17:05:30 ******.vs.sakura.ne.jp systemd[1]: httpd.service failed.わけがわからんwエラーを見るとEnter pass phrase:Apache:mod_ssl:Error: Private key not found.とあるので、調べるが良いのが出てこないそーいえば、CentOS6のときはサーバー再起動したら、SSLのパスフレーズ聞かれたのにCentOS7で聞かれなかったな・・・と思いしかもエラーがEnter pass phraseなので、パスフレーズがねぇよ!?って怒ってるのかな?と思いましたのでシェルファイル作るという風に設置して、vhost.confの中身も書き換えるvhost.confの中身の1行目SSLPassPhraseDialog  builtin⬇⬇⬇⬇⬇⬇⬇SSLPassPhraseDialog exec:/etc/ssl/certs/pass_ssl.shへ変更して保存Apache再起動。エラー。内容は変わったけど、エラーのまま特に解決していない。おかしいなぁと思って、Google先生に色々聞いたり何やりと時間は過ぎていく・・・・友達に聞いてみた所そーいえば、SSL設定したサイトでパスフレーズ設定してたら、同じような事になったことがったなぁ〜その時はパスフレーズ解除したら、すんなり行けたよ〜って神のお告げが降りてくる。試しにやってみる。さて、Apache再起動してみよう。systemctl restart httpdエラーなし。お!行けた行けた!!.keyファイルのパスフレーズを解除したら、すんなり行けました〜!原因はまた今度調べときます〜これで、無事1サーバーに複数SSLの設定が出来ました!めでたしめでたし。

2014 American Megatrendsのブート画面とwindows10インストール

こんばんわ、さすけです。ついに、2020年1月14日にwindows7のサポートが終了すると告知がありました。2009年からだいたい10年間お世話になりました。僕の自宅にあったメインのデスクトップもwindows7でしたが、この度windows10にアップデートしました!痛い出費となりました…お店で買った時、結構小さい外箱と思ってレジに並び、自宅に帰って開けてみたら今はDVDじゃなくてUSBになってるんですね!ということで、ブートの起動順をUSBに変更しなくてはいけません。グーグル先生に聞いても、2014のAmerican MegatrendsのUSBのブート情報がありませんでした…一つ一つブートオプション確認していき、無事インストールできましたので、僕と同じ状況の方に情報提供できたらと思い、ブート設定の手順を簡単に記載します!①インストール用のUSBを挿して、パソコンの電源をつけ、Deleatキーを連打します。②「BIOS Features」タブの「Hard Drive BBS Priorities」の「Boot Option #1」にて「KDI-MSFTWindows 10 PMAP」を選択します。③「Save & Exit」タブの「Save & Exit Setup」で保存と再起動をします。再起動したら、windows10のインストールのスタートページが表示されます!インストールが完了し再起動したら、再度Deleatキーを連打し、②の部分に行き、インストールしたHDDを選択し(画像でしたら「P0:ST3000DM07-1WY10G」)、「Save & Exit」タブの「Save & Exit Setup」で保存と再起動をします。これで作業完了です!それではまた!

PHPを5.3から5.4にアップデートしたらMySQLが接続できなくなった時の対処

Laravelフレームワークを使用しようと、古いサーバーに開発環境入れようと思いPHPのバージョンを調べたらPHP5.3.3だった。Laravel4.2を入れようと思ったら、PHP5.4以上だったのでPHPのバージョンをアップデートした。その際に、MySQLもアップデートされてMySQL5.1.73から5.5.62になった。ここで、PHPは問題なく動いてたけどMySQLで接続エラーが出ていて結構ハマっちゃいまいた。↑のエラーが出ていたので、グーグル先生に聞いてみたらmysql.sockがないよと言われる/var/lib/mysqlの中を確認するmysql.sockが確かに無い。ということで、mysql.sockをとりあえず作る。mysql.sockが出来たので、再度確認するお?次は()の中が2 → 111になったぞ?調べてみると、ソケットエラーらしい。パーミッションを見て変更してみる。再度試したけど接続エラーが消えない(111のまま)うーん・・・・・エラーを見てみようお、なんかエラー上がってるやんちょっと調べてみるとMySQLのアップデートしたバージョンで'default-character-set=utf8'は使えないよ!って怒られてるらしいそれじゃなくて、character-set-server=utf8を使ってね!ってどこかに書いてました。my.cnfの設定を変更する保存して、mysqlサーバーをリスタートしたら、無事に起動してくれました。ハマって3時間も悩んでしまった・・・勿体無いT_T

【未経験OK】【週3OK】【1日4時間OK】【簡単軽作業】電子・電気部品の検査【履歴書不要】

大手電機メーカー製作所内のキレイな職場での電子、電気部品等の検査作業になります。現場に丁寧に教えてくれるスタッフの方も居ますので安心してください!!!初心者、未経験でも大丈夫です!やる気があればOKです!!電気や電子の知識がなくても大丈夫です。まずは、お気軽に連絡 → 面接に起こし下さい \(^o^)/<業務内容>● 基盤等の電子部品、電気部品を電気検査等● 装置にセットして良否の判定を見るなどの検査職場は冷暖房完備で、快適な職場です! GOOD☆( ゚Д゚)b人も沢山居るので、楽しい職場ですよ! ( ・∀・)=b グッジョブ履歴書不要。■ 勤務条件月~金(平日)で週3日から入れる方。毎日でもOKです!フルタイムでもOKです!■ 就業時間8:30~17:00 【この内4時間からOK、フルタイムでもOK】※ 基本的に残業はありませんが、納期前などは残業も発生する場合があります。残業が出来ない人は、面接時にお伝え下さい!!残業の無い所もご紹介出来ます※ 稼ぎたい!って方は残業もできる現場を紹介します!!まずは気軽に、ご連絡下さ〜〜〜〜〜〜〜〜〜〜〜〜〜い\(^o^)/■ 時給1000円(経験などにより1000円以上にもなります)■ 休日完全週休2日制(土・日)祝日■ 待遇交通費全額支給、社会保険完備(長期の場合のみ)、制服貸与、雇用保険有り■ 雇用形態勤続年数や経験により社員雇用あり。まずは、お問い合わせください!06-6415-9368 (担当:住本・小寺)
記事をもっと見る