cronジョブとして実行するPHPスクリプトを作成しましたが、実行されていませんでした。スクリプトはブラウザで正常に機能しましたが、コマンドラインからスクリプトを実行すると、次のエラーが発生することがわかりました。
Warning: oci_connect(): ORA-12154: TNS:could not resolve the connect identifier specified in /usr/apps/webdata/cron/PropogateDB.php on line 190
問題の行は次のとおりです。
$conn_NRB = oci_connect($user, $pass, "nrb.njbbnrbpd1");
私が言ったように、このスクリプトはブラウザで正常に機能します。
少し調べてみたところ、データベースの構成設定が見つかりました。次に、これを試しました。
$conn_NRB = oci_connect($user, $pass, "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=nrb)))");
このコードでは、コマンドラインとブラウザの両方で次のエラーが発生します。
Warning: oci_connect() [function.oci-connect]: ORA-01017: invalid username/password; logon denied in /usr/apps/webdata/cron/PropogateDB.php on line 191
私の知る限り、私が使用できる他のユーザー名とパスワードはありません。(私は今それを確認しようとしています。)
私はこのサイトを検索して、同様の問題を抱えている他の誰かを発見しましたが、彼の問題は逆転しました。彼の原因は、コマンドラインとブラウザーが2つの異なるphp.iniファイルを指していることでした。ブラウザとコマンドラインの両方が同じphp.iniファイルを呼び出すことを確認しました。どちらも次のことを示しています。
Configuration File (php.ini) Path => /usr/local/php/lib
スクリプトがブラウザで機能するのにコマンドラインで失敗する理由は他にありますか?私はOracleSQLに比較的慣れておらず、データベースに直接アクセスできないため、ここからどこに進むべきかわかりません。
ありがとう。