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

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

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

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

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

5回答

511閲覧

PHPはwebサーバーで読み取るという認識で正しいのでしょうか?

iii

総合スコア29

PHP

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

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

2クリップ

投稿2017/08/18 07:00

すごく初歩的な質問になるのですが、
PHPはwebサーバーで読み取るという認識で正しいのでしょうか?

その場合、自分のphpのバージョンと
相手のwebサーバーのphpのバージョンがあっていないと
動かないことがあるということでしょうか?

馬鹿馬鹿しい質問かもしれませんが、
ご回答いただければ幸いです。

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

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

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

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

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

guest

回答5

0

PHPはサーバーサイドスクリプトですので、
例えばindex.phpにアクセスした場合はサーバー上でphpプログラムが実行されます。

wikipedia サーバーサイドスクリプト
https://ja.wikipedia.org/wiki/サーバーサイド・スクリプト

ですので、閲覧者側にPHPがインストールされている必要はありません。

開発する際は動作予定のサーバーのPHPバージョンを確認し開発をしていきます。

PHPのバージョンによっては配列の書き方などの違いがありますので、
念入りに確認することをお勧めします。

投稿2017/08/18 07:24

ryuya_asami

総合スコア34

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

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

iii

2017/08/21 05:35

ご回答ありがとうございました。
guest

0

その場合、自分のphpのバージョンと

相手のwebサーバーのphpのバージョンがあっていないと
動かないことがあるということでしょうか?

PHPを2つの意味で混同してるみたいだね。
そこをちゃんと切り分けて考えていこう。

まずPHPはスクリプト言語と呼ばれるジャンルのプログラミング言語だ。

そして対になるのが文字列で構成される単なるテキストデータである「ソースコード」。
「PHPの実行ファイル」にソースコードを読み込ませる事で、初めて書かれている内容を実行することが出来る。

一般的にPHPと呼んだ場合は「PHPの実行ファイル」を指す事が多く、
PHPに流し込むコードは「PHPファイル」や「ソースコード」と呼んで使い分ける。

自分のphpのバージョン

この「自分のphpのバージョン」というのはなんだろう?
上記を踏まえて以下のように解釈してみたけど相違ないかな?

自分のphpバージョンとは「PHPのソースコード」を指す。
自分のマシン(ローカル開発環境)にXAMMP等のApache+PHPの動作環境を用意し、
そのApache+PHPで少しずつテストしながら書き上げたもの。

相手のwebサーバーのphpのバージョン

他の回答者さんのコメントを見たけど、
これは会社に入っているPHPのバージョンのことだね。

質問者さんが会社のマシンに設置した「自分の環境で作ったPHPのソースコード」は
「PHPの実行ファイル」のバージョンが元になって動作するわけだね。
なので「自分のマシンのPHPやソースコード」は一切関係がない。

そしてWebサーバーとして全世界に公開するマシンは会社のマシンになるんだよね。
お客様はこっちにアクセスするわけだし。

動かないことがあるということでしょうか?

ある。

PHPはバージョンが上がると便利な関数や機能が追加され、
効率の悪く不便だったり不具合のある関数や機能は削除される。
(PHP以外のプログラミング言語も同様で、常にどのバージョンで書かれているソースコードかを把握する必要がある)

質問者さんは例えば自分のマシンでPHP5.6の環境で検証しながら「ソースコード」を書き上げる。
そのソースコードを会社のPHP7.0が入っているWebサーバーに設置すると、
意図しない動作をしたり、エラーが出て動作しないというケースが発生しうる。

逆もしかり。
会社のPHPのバージョンが古いと「そんな関数存在しねーよ、エラー」で落とされるケースも発生しうる。

バージョンが上がると何が追加され、何が削除されるかはPHPマニュアルの付録に全て記載されている。
ただし、PHPは下位互換を重視する文化なので、昨日まで使えてた機能が言語のアップデートでいきなり殺される事はない。
一度「この関数は非推奨になったので数年先のアップデートでなくなります。代替として用意した別機能使ってね」という風にアナウンスしてくれる。

投稿2017/08/19 01:45

miyabi-sun

総合スコア21158

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

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

iii

2017/08/21 05:35

ご回答ありがとうございました。
guest

0

Web サーバと php の関わり方は、以下に説明があります。

インストールにあたっての一般的な注意事項-php.net

一方、Web サーバーと PHP を自分でセットアップする場合、 サーバーに PHP を組み込む方法が 2 種類あります。 多くのサーバーに対して、各サーバー独自のモジュールインターフェイス (SAPI とも呼ばれます) を通じて、ダイレクトに PHP を動作させることができます。 Apache、Microsoft Internet Information Server、 Netscape、iPlanet サーバーなどがサポートされています。 ISAPI と呼ばれるマイクロソフト互換のモジュールインターフェイスを 持つ Web サーバー(OmniHTTPd など)もサポートされます。 PHP がモジュールのサポートをしていない Web サーバーに対しては、 CGI もしくは FastCGI プロセサとして PHP を使用することができます。 つまり、PHP ファイルへのリクエストの処理を、 PHP のコマンドライン版の実行ファイルを使って行うよう Web サーバーを設定することができます。

php は HTML を出力し、Web サーバはそれを http(s) としてブラウザにレスポンスします。

参考
あなたのサイトの PHPは,CGI方式ですか? Module方式ですか?
こちらのサイトは、php の動作モードによる挙動の違いを示しているので、本論との関わりは薄いのですが、ブラウザからのリクエストがどのように php に関わり、web サーバがレスポンスするのかという点を説明するのに適当な図が掲載されています。
図を見ることで理解が深まるかと。

投稿2017/08/18 21:32

編集2017/08/18 21:34
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

iii

2017/08/21 05:35

ご回答ありがとうございました。
guest

0

webサーバー上で、webサーバープログラム
(例えばapache httpdやNginxなど)が動いていて、
webブラウザなどのクライアントプログラムからのリクエストによって、
webサーバープログラムからphpなどのプログラムを実行して
その出力をwebクライアントに送信するようになっています。

リクエストがあるたびにphpなどを実行するプログラムが都度立ち上がる方式もあれば、
webサーバープログラム内にphpなどの実行エンジンを組み込んでいる場合もあります。

phpを実行するプログラムのバージョンが有り、
バージョンによって文法が若干変わってしまったり、
一部関数やライブラリも変わっていたりしますので、
動作確認が欠かせません。

PHP 7.0.x から PHP 7.1.x への移行
PHP 5.6.x から PHP 7.0.x への移行
PHP 5.5.x から PHP 5.6.x への移行
PHP 5.4.x から PHP 5.5.x への移行
PHP 5.3.x から PHP 5.4.x への移行
PHP 5.2.x から PHP 5.3.x への移行
PHP 5.1.x から PHP 5.2.x への移行
PHP 5.0.x から PHP 5.1.x への移行
PHP 4 から PHP 5.0.x への移行

ってくらい、変更点をまとめている公式ドキュメントもありますので、
先方のphpのバージョンになるべく揃えて
自前の開発環境のバージョンを決めると良いと思います。

投稿2017/08/18 08:00

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

iii

2017/08/21 05:35

ご回答ありがとうございました。
guest

0

webサーバーと書いてるのでwebページでよくあるindex.php(拡張子がphp)の話と想定してですが、
webサーバーでphpで記述されたプログラムを実行して、結果だけをクライアントに返すというイメージです。
ので、この場合においては自分のphp(自身のPCにPHPが入ってるって言うことかな)は関係ありません。

※開発においては当然ながらテスト環境やら開発環境と本番環境のphpのバージョンを合わせないと動かないことはあります(php・・・最近は少なくなった気もしますがマイナーバージョン違いでも動作が違ったりはあります)

投稿2017/08/18 07:22

rururu3

総合スコア5545

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

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

iii

2017/08/18 07:28

つたない質問に対してご回答ありがとうございます。 自分としては、会社の場合だと 社内サーバの上にWebサーバ(Apacheなど)があって、そのWEBサーバがPHPを実行しているものだと認識していました。 apacheなどのwebサーバにPHP(PHPを読み取るもの?)が入っているということではないのでしょうか?
rururu3

2017/08/18 09:16

apacheなどのwebサーバにPHP(PHPを読み取るもの?)が入っている・・・という認識でOKですよ。
iii

2017/08/21 05:35

ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問