0

リソースディレクトリを使用してphpファイルを静的アプリに追加し、次のディレクトリ構造を使用してアプリをherokuにデプロイしました。

-Static
  -public
    -css (all css files)
    -js (all js files)
    -images(all images)
    -resources (pdfs,test.php)
    -index.html
  -config.ru
  -Gemfile
  -Gemfile.lock
  -Readme.md

今、フォームの送信時にphpファイル(test.php)を実行したいのですが、herokuでは実行されていません.phpファイルを実行する手順を説明してください。

4

3 に答える 3

2

それがあなたを助けることを願っています....

Heroku アプリケーションを作成するときは、PHP ビルドパックが使用されていることを確認する必要があります。これは、PHP ランタイムをアプリケーション スラッグに挿入するものです。index.php ファイル (PHP の検出方法) を追加するか、次のようにハードコーディングします。

heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php.git

この質問で詳しく説明されているように、ライブラリ パスを設定します。

    heroku config:add LD_LIBRARY_PATH=/app/php/ext:/app/apache/lib

あなたのものを実行してください:

     heroku run ./php/bin/php --version

総括する:

 heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php.git
 heroku config:add LD_LIBRARY_PATH=/app/php/ext:/app/apache/lib
 heroku run ./php/bin/php --version

これをデバッグする便利な方法は、実行中の Heroku dyno: に bash することですheroku run bash。これにより、いろいろと調べたり、物事がどこにあるかを確認したり、実験したりできます。

 sudo heroku run path/to/file.php

シェルが php コマンド (つまり、そのエイリアス) を使用できない場合は、絶対パスを指定する必要があります。

  sudo /usr/bin/php path/to/file.php 

普段はそんなところです。PHP bin の場所を見つけるには、次を試してください。

  whereis php
于 2013-09-10T05:46:41.123 に答える
0

変化する:

Heroku で PHP スクリプトを実行する場合、PHP パスを使用しないようになりました。「php」を使用するだけです。

heroku run php --version

sudo heroku run php path/to/file.php

( sudo を使用する必要はないかもしれません - 上記の例から取られました - 私は sudo を使用しません )

于 2016-09-23T11:20:44.483 に答える