コマンドラインからPHPを実行する


13

PHP開発用にXAMPP v1.8.3をインストールしました。私はUbuntuが初めてなので、にあるPHPの環境変数を設定する方法がわかりません/opt/lampp/bin/php

PHPスクリプトはlocalhost問題なく実行できますが、コマンドラインからも実行したかったのです。

このシステムを使用するのは私だけなので、すべてのユーザーにこの変数を設定したいと思います。

回答:


20

環境変数はで設定され/etc/environmentます。あなたは見つけるでしょう$PATH、このファイル内の変数を。この変数は、さまざまな場所のバイナリへのパスを格納します。

/opt/lampp/binバイナリファイルを検索する場所に追加するには、この:変数の前にパス変数を追加します。

たとえば、$PATH変数が次の場合:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

/opt/lampp/bin最後に追加して、次のようにします。

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/lampp/bin

これを実行した後、を実行しsource /etc/environmentます。


@sud_the_devil:私の答えを編集しました。
jobin

sudo subl / opt / lampp / bin / phpを発行してファイルを開き、要求された場所を追加しました。開いたファイルへのリンクは次のとおりです。 PATH その後、システムを再起動する必要がありますか??
sud_the_devil

1
いいえ、システムを再起動する必要はありません。あなたはの出力貼り付けることができecho $PATHますが、パスおよびDONE Aを追加した後source /etc/environmentとしますかls /opt/lampp/bin/php
jobin 14

1
@sud_the_devil実行可能ファイルではなく、環境ファイルを編集する必要があります。あなたの命令はsudo subl /etc/environment
スリハリ

2
@sud_the_devil追加のみ/opt/lampp/bin/opt/lampp/bin/php実行可能ファイルではありません。
ラドゥラディアナヌ

19

インタラクティブなPHPシェルを開くには、ターミナルを入力するだけです:

php -a

ファイルを開くことに関しては、ちょうど:

php filename.php

1
OPの問題は、/ opt / lampp / bin / phpにあるphpの環境変数を設定する方法がわかりません。
ラドゥラデアヌ14

1
@darentありがとう。これは、Googleから得た最初の検索結果であり、php -aまさに探していたものでした。
マーティントーマ

12

の代わりに/opt/lampp/bin/php、コマンドラインからphpスクリプトを実行するには、php5-cliをインストールするだけです。

sudo apt-get install php5-cli

スクリプトを次のように実行します:

php myscript.php

編集者注:バージョンによっては、php7.0-cli代わりにetcなどをインストールする必要がある場合があります


php5-cli別のパッケージに含まれています。
ヴタズ14

2
@Wutazどの惑星に?(ヒント
電子寿司14

3
動作しません。以下のようにする代わりに、実行のスクリプトは、それだけでファイルの内容を印刷しcatない
グリーン

0

使用できます

php /var/www/html/yourProjctFolder/yourFile.php

echoまたはprintステートメントを記述した場合、これはphpファイルを呼び出して出力します


いいえ、間違ってcatいます。ファイルコンテンツを印刷するだけです。処刑なし
グリーン

@Greenシステムに適切なphpが設定されていないようです。
RNクシュワハ

1
動作させるに-fphp、ファイル名とファイル名の間に入力する必要があるようです=>php -f file.php
Green
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.