私は[email protected]に行く電子メールがピックアップされ、PHPスクリプトによって処理されるように、私のcPanelにforwarderを設定しました。PHPスクリプトの正しいHashbangまたはShebangを見つける方法
#!/usr/bin/php -q
<?php
$fd = fopen("php://stdin", "r");
$body = '';
while(!feof($fd)){
$body .= fread($fd, 1024);
}
fclose($fd);
//----doing my tasks, for example:--
mail('[email protected]', 'Test Subject', $body);
?>
さまざまな種類のcPanelプロバイダを使用して、複数のクライアントにほぼ同じソリューションを実行する必要があります。私の問題は、Hashbang or Shebangと呼ばれる最初の行です。ウェブから私は、次のshebangsは、PHPのバージョンに基づいて有効であることが判明:
For PHP 5.2.x the shebang would be "#!/usr/bin/php"
For PHP 5.3.x the shebang would be "#!/usr/bin/php53"
//My test server is running with PHP 5.5 at this moment and "#!/usr/bin/php" works fine.
ここでも、いくつかは、#!/usr/local/bin/php
または#!/usr/local/lib/php
、言うなど
私の質問:正しい見つけるためにどのような方法がありますphpinfo()のような異なるcPanel環境に対して、または任意のコーディングを使用するか、または任意の設定ファイルから適切に/直接/簡単にhashbangできますか?
これは回答として投稿されましたが、質問に答えるつもりはありません。それはおそらく、編集、コメント、別の質問、または完全に削除されるべきです。 –
@MarcinOrlowski私の考えでは、OPは異なるインストールパスを持つ異なるシステム上でPHPのインストールディレクトリを識別する方法を尋ねていたので、インストールされている場所(移植性)にスクリプトが正しく機能します。私の答えはこれに対する解決策です。理由がわからない理由 – superphonic
おそらく '$/usr/bin/env php' - >'/usr/bin/env:php:そのようなファイルやディレクトリはありません。これはcPanel環境で動作すると書かれている場合を除き、移植可能なソリューションではありません。 –