この点に関して理解する必要がある特定のことがあります。
1つ目は、PHPをweb server module
として実行できることです。 またはstandalone executable
として 。 Webサーバーモジュールとして実行する場合は、ブラウザから開きます。関連するすべてのWebテクノロジー(html/css/js)
などが解析され、一斉に機能します。
/usr/bin/php mywebpage.php
のようにcronを使用してコマンドラインから実行する場合 その場合、php実行可能ファイルは他のWebテクノロジーを解析/理解しないため、ページは失敗します。
これには2つの回避策があります:
-
これらのWeb対応パーツのみを書き直して、ajax/jsのものがPHPによって処理されるようにします。基本的に、経験則では、CLI phpスクリプトを実行している場合は、コアPHPのみを含める必要があります。これが推奨される方法です。 ajax呼び出しを同じファイル内に移動し、通常のプログラムと同じように単一の実行フローにする必要があります。
-
何らかの理由で上記を実行できない場合は、次のように試すことができます:
/path/to/browser http://mysite/mywebpage.php
。ここで行っているのは、ブラウザの実行可能ファイルを実行してから、WebページのURLを呼び出すことです。このようにして、ページはブラウザの環境内で実行され、ajax/js呼び出しを解析して理解できるようになります。