web-dev-qa-db-ja.com

/ usr / bin / php vs / bin / php vs php in bash

Phpクライアントコマンドを実行しています。 php xx yy zz run問題ありませんが、非常に奇妙なエラーを発生させるカウンターパート(/ usr/bin/phpおよび/ bin/php)は問題ありません。

それを考えると、私はとても混乱した行です:

command -v php || which php || type -p php 

=>/usr/bin/php((3つすべて)

whereis php

=> php:/ usr/bin/php /usr/bin/php7.3/usr/lib/php/etc/php/usr/include/php/usr/share/php /usr/share/php7.3-xmlrpc /usr/share/php7.3-imap /usr/share/php7.3-opcache /usr/share/php7.3-Zip /usr/share/php7.3-curl /usr/share/php7.3-common /usr/share/php7.3-bcmath /usr/share/php7.3-soap /usr/share/php7.2-xml /usr/share/php7.3-Gd /usr/share/php7.3-mysql /usr/share/php7.3-mbstring /usr/share/php7.2-common /usr/share/php7.3-json /usr/share/php7.3-xml /usr/share/php7.3-readline /usr/share/man/man1/php.1.gz

type -a php

=> phpは/ usr/bin/phpです

phpは/ bin/phpです

スクリプトが「php」で動作するのに/ usr/bin/phpまたは/ bin/phpで動作するのはなぜですか。それらの違いは何ですか?

1
Phung D. An

基本的に、Linuxシステムにphpをインストールする方法は2つあります。 Apacheの場合はWebサーバーに使用します。そしてcliの使用のために。

Webページの<?php phpinfo(); ?>関数を使用してWebバージョンを確認できます。

cliの場合、which phpphp --versionをそれぞれ使用してパスとバージョンを確認できます。

Php-cgiとphp-cliの違い

PHP CLIは、PHPのコマンドラインインターフェイスです(スタンドアロンアプリケーションの作成など)。PHP CGIは、PHPの共通ゲートウェイインターフェイスです(Webアプリケーションなど)。ソース: https://stackoverflow.com/a/9315749/2107145

すべてのphpバージョンの詳細については、このスレッド https://stackoverflow.com/a/45493656/2107145 をお読みください。

コマンドの説明

type:コマンドに関する情報を表示します

which:指定されたコマンドのバイナリパスを表示します

command:コマンドに関する情報を表示します

whereis:指定されたコマンドのすべてのバイナリがphpと表示されます

それは今のところすべてです。

もっと知る必要があるかどうか私に聞いてください。

1