- 0.1. ubuntu 22.04環境にnginx + php-fpmでLaravelアプリケーションを構築
- 0.2. Python,Ruby,PHP,Java,JavaScript,PerlのMySQLの比較
- 0.3. Laravel で ルーティングしたら Invalid route action: []. で怒られた
- 0.4. 【PSR-4 Autoload】第三回 composerからautoloadを利用
- 0.5. OAuth 2.0 Server PHP と Google OAuth2.0 Playground を接続する
- 0.6. PHP 8.0 + Laravel 6.x でSoapClient使うとエラーになるみたい
- 0.7. [PHP] readfileでcsvをダウンロードさせると余計なものが挿入される
- 0.8. apacheで現在のフォルダをサーブしたい
- 0.9. user登録者毎に画面表示させる方法
- 0.10. Python,Ruby,PHP,Java,JavaScript,PerlのSQLiteの比較
- 0.11. 【Docker Compose】固定IPの割りあてとhostsの編集
- 0.12. php artisan migrate実行時のエラー
- 0.13. Laravelで「Expected name to be a non-empty string.」というエラーが発生した件のメモ
- 0.14. 【 #ゆめみからの挑戦状 ★第7弾】解答の紹介と総括
- 0.15. Python,Ruby,PHP,Java,JavaScript,PerlのC言語拡張の比較
- 0.16. 連想配列内の1つの値(配列)のみ階層を深くする方法
- 0.17. DMM apiの使い方(自分のデータベースを作る方法)
- 1. 実現したかったこと
- 2. 実装環境
- 3. 使用言語
- 4. javascriptでやること
ubuntu 22.04環境にnginx + php-fpmでLaravelアプリケーションを構築
# 概要
サーバにインストールしたUbuntu 22.04環境で本番向けのLaravelアプリケーションを動かします。
nginxはhttpのウェブサーバで、php-fpmとはPHPのCGI(ウェブサーバでスクリプトを実行して、動的コンテンツを生成する仕組み)です。
今回はnginxをウェブサーバとして動かして、php-fpmと連携させることでLaravelのアプリケーションが動作するようにしていきます。今回は、dockerなどのコンテナは使用せずに、ubuntu上に直接必要なソフトウェアをインストールしていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/70029/b1646470-3bd5-9fda-6215-1577ddfba5bc.png)
# 必要なパッケージのインストール
## nginxのインストール
“`bash
$ sudo apt update
$ sudo apt install nginx
“`## PHPのインストール
“`
Python,Ruby,PHP,Java,JavaScript,PerlのMySQLの比較
Python,Ruby,PHP,Java,JavaScript,PerlのMySQLの比較
# Python
https://qiita.com/ab-boy_ringo/items/f05bb6329f51e1632965
# Ruby
https://qiita.com/hukuro310/items/ec91beaecd11157e0640
# PHP
https://qiita.com/ab-boy_ringo/items/8274c66b6692966fdc55
# Java
https://qiita.com/namari/items/50d9aac0faf6b7e7b314
# JavaScript
https://qiita.com/PianoScoreJP/items/7ed172cd0e7846641e13
# Perl
https://perlzemi.co
Laravel で ルーティングしたら Invalid route action: []. で怒られた
# エラー時の状況
Laravel で ADR の設計で REST API の開発をしているとき、Action を `routes/api.php` にルーティングを設定したら怒られたので備忘録。
“`
UnexpectedValueExceptionInvalid route action: [App\Http\Actions\Todo\GetAction].
`App\Http\Actions\Todo\GetAction` was not found.
Controller class `App\Http\Actions\Todo\GetAction` for one of your routes was not found. Are you sure this controller exists and is imported correctly?
“`エラーログの内容を要約すると以下の通りです。
– Action が無効だよ
– `App\Http\Actions\Todo\GetAction` は存在しないよ、ちゃんとインポートしている?## 環境
【PSR-4 Autoload】第三回 composerからautoloadを利用
## この記事でできるようになること :muscle:
【第一回】 autoloadの概要を理解
【第二回】 仕組みを理解したうえでautoloadを実装
**【第三回】 composerからautoloadを利用**
## そもそも… :thinking:
### Composerとは :mag_right:
#### 概説
PHPのプロジェクトで使用するライブラリ・パッケージの管理(インストール・アップデート等)を単一のファイル(`composer.json`)から一括で行えるツールです。
ComposerにはAutoload機能も用意されており、自作Autoloadクラスを作らなくてもファイルの自動読み込みを実現することが可能になります。便利ですね。
>Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for y
OAuth 2.0 Server PHP と Google OAuth2.0 Playground を接続する
# 1.はじめに
本稿は[OAuth 2.0 Server PHPを使ってサーバー認証をやってみる。](https://qiita.com/SSaitou/items/1dc9e67f420c6bf5acd1 )の続きです。本稿ではとりあえず作ったOAuth2.0 PHP Serverが外部からの呼び出し(ここではGoogleサービス)に対して適切に動作しているか確認してから、その上で動作するアプリ作成に入ろう、という目論みです。というか、[Googleのドキュメント](https://developers.google.com/assistant/smarthome/develop/create )を追って行ったらいつの間にか[Google OAuth2.0 Playground](https://developers.google.com/oauthplayground/ )にさ迷いこんでいたというのが正直なところで、今となってはどこから入り込んだのか解りません。ただ、OAuth2.0サーバー認証のみの確認ができるので結果的にはとても良かったです。サービスアプリ(みたいなもの)
PHP 8.0 + Laravel 6.x でSoapClient使うとエラーになるみたい
# 概要
表題の通り、PHP 8.0 + Laravel 6.x でSoapClient使うとエラーになるみたい# 詳細
[Laravelのサポートポリシー](https://readouble.com/laravel/8.x/ja/releases.html#support-policy)見る限り、Laravel 6.x でも PHP8.0使えるっぽいけど…PHP 8.0 にしたら、SoapClient使ってるとこで
“`
include(): Failed opening ‘/home/runner/work/hoge/vendor/composer/../phpunit/phpunit/src/Framework/ExceptionWrapper.php’ for inclusion (include_path=’.:/usr/share/php’)
“`
的なエラーが出ちゃう# 対策
Laravel 7.x までアップしたら解決。
※ Laravel 7.x もサポート切れてるから…ちゃんとアップしようね
[PHP] readfileでcsvをダウンロードさせると余計なものが挿入される
# 何が起きたのか
webアプリケーション上でcsvダウンロードボタンを作った。
動いたものの、元のcsvファイルデータと一緒にPHPの警告や、htmlソースがデータ化されてしまっている。。。
| column_1 | column_2 |
|:———–|————:|
|1|tree|
|2|mono|
|3|ace|
|4|believe|
|\|||
|\|||# 解決した
“`diff_php
$filename = ‘child.csv’;
$csvFilename = ‘/tmp/child.csv’;header(‘Content-Type: application/stream’);
header(‘Content-Disposition: attachment; filename=’.$fileName);
header(‘Content-Length: ‘.filesize($csvFileName));
readfile($csvFileName);
– un
apacheで現在のフォルダをサーブしたい
# 経緯
apacheサーバーで運用している開発案件に参画
apacheじゃ無いと、jqueryの読み込み順序がバグる。
.htaccessも使いたい。
でも、docker-composeとか毎回書くのだるい。### やりたいこと
apacheでコマンド1つで現在ディレクトリを配信するサーバーを構築したい。# 解決策
`serve`とコマンドを打つと、apacheのdockerコンテナが起動するようにfish functionを作った。
zshやbashでも同じように作れると思う。“`bash:tree
# ~/.config/fish/functions
.
├── serve
│ └── Dockerfile
└── serve.fish
“`
“`Dockerfile:~/.config/fish/functions/serve/Dockerfile
FROM php:7.0-apacheRUN a2enmod rewrite proxy proxy_http
“`
“`fish:~/.config/fish/functions/serve.fi
user登録者毎に画面表示させる方法
「id」を使って、各ユーザー毎に画面表示させる方法を学習したので、皆さんに共有します。
当初の遷移方法は
reg.php(登録画面) → reg_list.php(登録一覧画面) となる。reg.php(入力画面)
“`php
日付:関連する記事
OTHERカテゴリの最新記事
- 2024.11.12
iOS関連のことを調べてみた
- 2024.11.12
JAVA関連のことを調べてみた
- 2024.11.12
JavaScript関連のことを調べてみた
- 2024.11.12
Rails関連のことを調べてみた
- 2024.11.12
Lambda関連のことを調べてみた
- 2024.11.12
Python関連のことを調べてみた