🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

2回答

2345閲覧

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

gunmed

総合スコア55

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2019/10/25 08:03

編集2019/10/25 10:10

# 前提
プログラミングは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を実行し以下の操作を順に行う。

terminal

1sudo yum -y update 2 3sudo yum -y install git 4 5git clone https://github.com/dotinstallres/centos6.git 6 7cd centos6 8 9./run.sh 10 11exec $SHELL -l

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

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

terminal

1bash: 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>.

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/10/25 08:52

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

2019/10/25 09:00

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

2019/10/25 09:13

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

2019/10/25 10:11 編集

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

回答2

0

自己解決

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

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

投稿2019/10/25 11:57

gunmed

総合スコア55

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

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

投稿2019/10/25 08:22

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gunmed

2019/10/25 08:56

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

退会済みユーザー

2019/10/25 09:00

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問