質問をすることでしか得られない、回答やアドバイスがある。

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

ただいまの
回答率

87.34%

ドットインストールでのvagrantを用いたローカル開発環境構築で、phpコマンドが存在しないというエラーが生じる

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,480

score 55

 前提

プログラミングはpythonを少し勉強したのち、現在はhtmlやcssを独学で勉強しているものです。
progateという学習サイトでphpを学習したのち、ドットインストールというサイトのローカル開発環境の構築 [macOS編]を受講しました。
そこで起きたエラーで、初学者の自分には解決できないので質問させていただきます。

 エラーに至るまでの経緯

以下のように、ローカル開発環境の構築 [macOS編]と全く同じ経緯で物事を進めました。

①VirtualBoxとVagrantをインストールする(2019年10月25日現在)

②/Users/ユーザー名/MyVagrant/MyCentOSというようなフォルダを作成し、vagrant init bento/centos-6.8を実行し、仮想マシン設定用のVagrantfileを作る

③IPアドレスを作成し、仮想マシンを起動する

④vagrant sshを実行し以下の操作を順に行う。

sudo yum -y update

sudo yum -y install git

git clone https://github.com/dotinstallres/centos6.git

cd centos6

./run.sh

exec $SHELL -l


⑤cyberduckをインストールし、新規接続SFTPで接続し、php_lessonsというフォルダを作成し、phpのファイルを作成し、<?php echo "hello!"; ?>と記述。

⑥ターミナル上で、[vagrant@localhost ~]$から、php_lessonsに移動して、php -S 192.168.33.10:8000を入力すると、

bash: php: コマンドが見つかりません


という表示が出てしまう。

調べたり、実行したこと

まずは、ドットインストールの補足情報のところに、今回のエラーの対処法があったので、実行しました。
cd ~/centos6
./run.sh
を再度行い、php -vを入力するというもので、結果は同じエラーがでました。

その次に、④の工程をもう一度実行してみましたが、変わらず。

Vagrant で./run.shを実行しても何もインストールされてない
というterataiのサイトを参考に、./run.shのセットアップが失敗している可能性があるとわかったので、その結果を見てみると、異常のある部分がありました。
requested datatype primary not availableというエラーが最後尾あたりにあります。

イメージ説明

いろいろ調べてみて、出現してるエラーの表示は異なるのですが、teratailのドットインストール第6回,Vagrant で./run.shを実行しても何もインストールされてないの回答を参考に[vagrant@localhost centos6]において

$ ls -l /etc/ansible/hosts
-rw-r--r--. 1 root root 1026 Aug 16 17:46 /etc/ansible/hosts
$ sudo bash -c "echo 127.0.0.1 >> /etc/ansible/hosts"
$ ./run.sh


を実行するも、エラーは結局変わらず。

requested datatype primary not availableの対処法がいくら探しても見当たらず。時間もかなりかかってしまったので、ここに質問させていただきました。
vagrantなどの知識が欠如しており、自分だけでの解決は厳しいので、回答していただけると幸いです。
また、足りない情報があれば、教えてください。
よろしくお願いいたします。

mac 10.14.6
vagrant 2.2.6

質問後にやってみたこと

$ sudo yum install php
$ sudo yum install httpd
をまず行ってみました。すると以下のようなものが表示されました。

イメージ説明

イメージ説明

その後にphp -vをするとphp 5.3.3がインストールされたみたいなので、php_lessonsに移動し、php -S 192.168.33.10:8000を行うと以下のようになりましたが、http://http://192.168.33.10:8000/としても、「サイトにアクセスできません」となりました。

[vagrant@localhost php_lessons]$ php -v
PHP 5.3.3 (cli) (built: Mar 22 2017 12:27:09) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
[vagrant@localhost php_lessons]$ php -S 192.168.33.10:8000
Usage: php [options] [-f] <file> [--] [args...]
       php [options] -r <code> [--] [args...]
       php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
       php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
       php [options] -- [args...]
       php [options] -a

  -a               Run as interactive shell
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

  --ini            Show configuration file names

  --rf <name>      Show information about function <name>.
  --rc <name>      Show information about class <name>.
  --re <name>      Show information about extension <name>.
  --ri <name>      Show configuration for extension <name>.
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • m.ts10806

    2019/10/25 17:52

    質問内容に提示された手順通りにしかしてないのでしたらPHPをそもそもインストールしてないからでは?

    キャンセル

  • gunmed

    2019/10/25 18:00

    git clone https://github.com/dotinstallres/centos6.git
    の作業工程を「gitを使ってアプリケーション設定用のスクリプトをダウンロード」と称しているので、④でインストールされたのかと思ってました。的外れでしたらすみません。
    では、vagrantでPHPをインストールする方法を模索します。

    キャンセル

  • yoorwm

    2019/10/25 18:13

    run.shの中にansibleをダウンロードして作業してる項目があるので、そこでたぶんインストールしているんでしょう。
    yum使って~の方が色々学べるとは思うんですけどね(色々、大変ではありますが

    キャンセル

  • gunmed

    2019/10/25 19:02 編集

    phpのインストール問題は解決したのですが、php -S 192.168.33.10:8000が正しく動いてないみたいです。
    ほかのteratailの質問で解決法があったので、試してみます。
    https://teratail.com/questions/128086

    キャンセル

回答 2

check解決した方法

0

この問題に関しては、phpをインストールすれば解決する。

また、php -S 192.168.33.10:8000はphp 5.4系以降で有効なので、5.3の場合はphpを最新にすることで解決するらしい。
最新にする方法については、また別に調べて行う。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

bash: php: コマンドが見つかりません


これは、PHPを動かせる環境を構築できていないため出るエラーかと。

環境構築はあまりやったことがないので、参考になりそうなこちらのサイトを参考にしてみてはいかがでしょうか?
VagrantでPHPの開発環境を作ってみる

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/10/25 17:56

    回答ありがとうございます。
    windows環境と書いてあるのですが、試してみます。

    キャンセル

  • 2019/10/25 18:00

    VirtualBoxとVagrantを使用していること、vagrant sshまでは問題なくいけているようですので、そのあとはwindowsとかmacはあまり関係ないかと思い、参考URLを張らせていただきました。

    健闘を祈ります。

    キャンセル

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

  • ただいまの回答率 87.34%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • トップ
  • PHPに関する質問
  • ドットインストールでのvagrantを用いたローカル開発環境構築で、phpコマンドが存在しないというエラーが生じる