質問するログイン新規登録

Q&A

解決済

2回答

402閲覧

MAMP +Laravel環境でLaravelが起動できません

vivi0511

総合スコア1

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

0クリップ

投稿2026/05/13 05:16

0

0

実現したいこと

Laravelをローカル環境で起動したい

発生している問題・分からないこと

php -m の結果に「pdo_mysql」が表示されず、Laravelが起動できません

エラーメッセージ

error

1① localhostアクセス時 2http://localhost:8888/ 3→「このページは現在機能していません」 4 5② LaravelのURLアクセス時 6http://localhost:8888/practice/public 7→404 エラー 8 9③ php -v 10→ 'php' は、内部コマンドまたは外部コマンド、 11操作可能なプログラムまたはバッチファイルとして認識されていません。 12 13④ php artisan serve 14→ Failed to listen on 127.0.0.1:8000 15Failed to listen on 127.0.0.1:8010 16Failed to listen on 127.0.0.1:8080 17Failed to listen on 127.0.0.1:9000 18 19⑤ php -m 20→PDO → あり 21mysqli → あり 22mysqlnd → あり 23pdo_mysql → なし 24 25⑥ C:\MAMP\bin\php\php8.2.14\php --ini 26→ 指定されたパスが見つかりません

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

・php.ini-development をコピーして php.ini を作成
・php.ini に以下を記述
extension=pdo_mysql
extension=mysqli
extension=openssl
extension=mbstring
extension=fileinfo

補足

パスの設定(環境変数)は設定済み
MAMPのPHPとCLIのPHPのズレは修正済み

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

hiroki-o

2026/05/13 09:33

http://localhost/ でMAMPデフォルトのページが表示できているでしょうか? また、「php -m」が叩けて、「php -v」や「C:\MAMP\bin\php\php8.2.14\php --ini」が叩けないのは変です。phpのパスを確認してください。
guest

回答2

0

問題は複数ありますが、本質的には:

  1. PHPのPATHが壊れている
  2. MAMPのPHP実体パスが違う
  3. pdo_mysql extension が読み込まれていない
  4. Apache/MAMPのDocumentRootとLaravel配置場所が合っていない
  5. php artisan serve のポート競合

です。

特にこれ:

'php' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。

がかなり重要で、

CLIからPHPが正常認識されていない

状態です。

つまり:

php -m が動く
php -v が動かない

のは、

複数PHP

または:

alias / shell cache / PATH不整合

が起きています。

まず最初に確認

PowerShellで:

where php

実行。

正常なら:

C:\MAMP\bin\php\php8.x.x\php.exe

が出ます。

出ないなら PATH が壊れています。

MAMP の実際のPHP場所確認

まず:

C:\MAMP\bin\php\

をエクスプローラーで開いてください。

あなたは:

php8.2.14

と言っていますが、

指定されたパスが見つかりません

なので、

実際は:

php8.3.1
php8.2.0
php8.1.13

など別バージョンです。

正しいPATH設定

例えば実体が:

C:\MAMP\bin\php\php8.3.1

なら、

環境変数 PATH に:

C:\MAMP\bin\php\php8.3.1

を追加。

追加後:

PowerShellを完全に閉じる

再起動

必須。

確認

その後:

php -v

正常なら:

PHP 8.x.x

が出る。

次に pdo_mysql

php.ini を確認。

まず:

php --ini

を実行。

ここで:

Loaded Configuration File:

が表示されます。

その php.ini を編集。

必須設定

以下をコメント解除。

extension_dir = "ext"

extension=pdo_mysql
extension=mysqli
extension=openssl
extension=mbstring
extension=fileinfo

※ Windowsでは:

;extension=pdo_mysql

先頭の ; を消す。

確認
php -m

で:

pdo_mysql

が出ればOK。

artisan serve が失敗する理由

これ:

Failed to listen on 127.0.0.1:8000
8010
8080
9000

は:

全部ポート使用中

です。

たぶん:

MAMP Apache
MySQL
Docker
Node
WSL

が使ってる。

回避
php artisan serve --port=8888

または:

php artisan serve --host=0.0.0.0 --port=8088
404 の原因

これ:

http://localhost:8888/practice/public

は、

MAMP DocumentRoot が:

htdocs

向いてない可能性。

Laravel の推奨配置
C:\MAMP\htdocs\practice

に置く。

そして:

http://localhost/practice/public

でアクセス。

※ MAMP標準ポートなら:

8888不要

の場合もある。

localhost が機能しない理由

これ:

このページは現在機能していません

は、

Apache起動失敗の可能性。

MAMP画面で:

Apache 緑
MySQL 緑

になってるか確認。

Laravel 最短セットアップ
1
composer create-project laravel/laravel practice
2
cd practice
3

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root

※ MAMP の MySQL は通常 8889。

4
php artisan key:generate
5
php artisan migrate
最終的に見るべきURL

MAMP経由:

http://localhost/practice/public

artisan:

http://127.0.0.1:8888
今回の核心

あなたの最大問題は:

php コマンドの実体が壊れている

ことです。

これが直らない限り:

pdo_mysql
artisan
composer
Laravel

全部不安定になります。

最終結論

まずこの順番で直してください。

  1. where php
  2. 正しいMAMP PHPパス確認
  3. PATH修正
  4. PowerShell再起動
  5. php -v
  6. php --ini
  7. php.ini修正
  8. php -m で pdo_mysql確認
  9. php artisan serve --port=8888

ここまで通れば Laravel は動きます。

投稿2026/05/21 03:40

LinhHohoai

総合スコア0

0

ベストアンサー

Windows 11、MAMP 5.0.6、Composer 2.9.8で確認しました。
以下の手順でLaravel 13.8.0のインストールが可能です。

  1. MAMPインストール
  2. PHPのパスを通す。C:\MAMP\bin\php\php8.3.1
  3. Composerインストール
  4. php.iniで、以下の行のコメントを解除する。(既に解除されている行もあります)
    • extension_dir = "ext"
    • extension=fileinfo
    • extension=mbstring
    • extension=openssl
    • extension=pdo_mysql
  5. C:\MAMP\htdocsで、composer create-project --prefer-dist laravel/laravel example-app (example-appは任意の名前)
  6. MAMPのphpMyAdminで、データベースlaravel作成 (.envのDB_DATABASE行と合わせる)
  7. .envを以下のように書き換え後、cd example-appphp artisan migrate
    • DB_CONNECTION=sqliteをmysql
    • その下5行をコメント解除
    • DB_PASSWORD=root
  8. http://localhost/example-app/public/ 表示確認

※2,3,4の後はPowerShell/コマンドプロンプトを一度閉じてください。

投稿2026/05/13 12:05

編集2026/05/13 12:09
hiroki-o

総合スコア1840

vivi0511

2026/05/13 13:47

5まで試してみたところで、 The openssl extension is required for ssl/tls protection but is not available. If you can not enable the openssl extension, you can disable this error, at your own risk, by setting the ‘disable-tls’ option to true というエラーが出て、再度php.iniを確認しました。 php -mでopenssl、pdo_mysqlの表示なし where phpを確認すると C:\MAMP\bin\php\php8.2.14\php.exe C:\MAMP\bin\php\php8.3.1\php.exe php --iniを確認すると Loaded Configuration File: C:\MAMP\bin\php\php8.2.14\php.ini となってました。
hiroki-o

2026/05/13 14:41

おそらく、パスは8.2.14と8.3.1の両方に通っていて、8.2.14のほうが優先されています。 ところが、Composerインストール時に認識されたのは8.3.1のほうだと思われます。 8.2.14をパスから消して、8.3.1のphp.iniを書き換えて、コマンドプロンプトを一度閉じてからcomposerを実行してください。
blixor

2026/05/14 16:38

hiroki-oさんの回答どおり、PHP 8.2.14 と 8.3.1 の両方が PATH に入っていて、CLI側で 8.2.14 が優先されている状態だと思われます。 そのため、現在編集している php.ini と、実際にコマンド実行時に読み込まれている php.ini が一致していない可能性が高いです。 まずは環境変数(PATH)から `C:\MAMP\bin\php\php8.2.14\` を削除して、8.3.1 のみ残してください。 その後、以下を確認するとよいと思います。 ```bash where php php -v php --ini ``` すべて 8.3.1 を指していればOKです。 また、8.3.1 側の php.ini で以下のコメント解除も必要です。 ```ini extension_dir = "ext" extension=openssl extension=pdo_mysql extension=mysqli extension=mbstring extension=fileinfo ``` 修正後は必ずコマンドプロンプトを閉じて再起動してください。 最後に、 ```bash php -m ``` で `openssl` と `pdo_mysql` が表示されれば、Composer と Laravel は正常に動作するはずです。
vivi0511

2026/05/15 10:53

hiroki-oさんの回答の7まではおそらくうまくいったかと思うのですが、 http://localhost/example-app/public/ を試してみると、"このページに到達できません"というエラーが出てしまいます。
hiroki-o

2026/05/15 12:25

http://localhost/ でMAMPデフォルトのページを表示できますか?
vivi0511

2026/05/15 15:54 編集

phpMyAdminは表示できたのですが、http://localhost/ でMAMPデフォルトページは表示できません
vivi0511

2026/05/16 02:40

http://localhost:XXXX/example-app/public でLaravel起動することができました! 回答ありがとうございました!
hiroki-o

2026/05/16 05:11

私が提示した手順ではポート番号の指定は不要ですが、解決おめでとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.25%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問