シェルスクリプトを使用してベースディレクトリでファイルを実行する

シェルスクリプトを使用してベースディレクトリでファイルを実行する

私はphp-cliでPHPファイルを実行するためにシェルスクリプトを使用しています。 PHPファイルの1つがavailable_data実行中に呼び出されるファイルを生成しました。問題は、phpファイルがavailable_dataphpファイルを含むサーバーの同じディレクトリ/var/www/htmlにファイルを作成する必要があることです。代わりに、シェルスクリプトがある/bin/scripts/ディレクトリにファイルを書き込みます。

ここに私のスクリプトがあります(/bin/scripts/createview.shにあります)。

php /var/www/html/createview_customer.php

問題は、PHPファイルが/ bin / scriptsで実行されていることです。 /var/www/htmlでPHPファイルを実行する方法は?

答え1

実行する前にPHPスクリプトディレクトリに移動し、再度戻るようにシェルスクリプトを変更します。

cur=$(pwd)
cd /var/www/html && php ./createview_customer.php
cd "$cur"

あるいは、まずそのディレクトリを見つけ、そのディレクトリからファイルを開くようにPHPスクリプトを変更することをお勧めします。

$dirpath = dirname(__FILE__);
$handle = fopen("$dirpath/available_data", "w");

関連情報