2017-08-22 16 views
0

Herokuで500個のエラーが発生しました。初めてCodeigniter 3.xプロジェクトを開始しようとしました(初めて)。私はそれより良いログは得られないようだ。Heroku 500でエラーが発生したCodeigniter 3.x

私はheroku-php-apache2 buildpackを使用しています。 PHPのバージョンは5.6.xです

しかし、私はそれが適切にルートディレクトリをpublic_htmlとして設定していることがわかりますデバッグを介して、それはルートディレクトリにindex.phpをロードして、config.phpとdatabase.phpをロードしています、そしてそれはroutes.phpをロードしています。

私のroutes.phpには私が持っています: $ route ['default_controller'] = "home";

私はホームページに行くと、ルート、私は500エラーが発生し、それは仮定されているようにホーム/インデックスコントローラメソッドをロードしていません。 https://staging-app/css/grid.cssのようなCSSファイルを参照すると、ロードされるので、ディレクトリに正しくアクセスされていることがわかります。

必要な場合には、同じか、それなしをロードするようだ、が、私の.htaccessは

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    #Checks to see if the user is attempting to access a valid file, 
    #such as an image or css document, if this isn't true it sends the 
    #request to index.php 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    #RewriteCond %{REQUEST_URI} !business-loan-tips.* 
    RewriteRule ^(.*)$ index.php?/$1 [L] 
</IfModule> 

    <IfModule !mod_rewrite.c> 
    # If we don't have mod_rewrite installed, all 404's 
    # can be sent to index.php, and everything works as normal. 
    # Submitted by: ElliotHaughin 

    ErrorDocument 404 /index.php 
    </IfModule> 

です。

マイcomposer.jsonは、「{}」

を除いて空で、私のProcfileがちょうどあります

web: vendor/bin/heroku-php-apache2 public_html/ 

私は500エラーを取得するために間違っているか、どのようにIすることができどこ上の任意のアイデアをそれをより良く追跡できますか?

EDIT: 私は適切にデータベースにヒットします。私はコントローラをヒットさせることができません。

答えて

1

の下に使用してhtaccessファイルを有効にする私は、このような悩みを持っていた理由は、ロギングが正常に動作していなかったです。判明しているように、HerokuのドキュメントはCodeigniter 3.xでロギングするために古くなっています。 CI 2.xからCI 3.xに移動すると、彼らは/ libraryからLogical.phpを/ coreに移動したので、Herokuが提供するMY_Log.phpファイルは/ coreではなく、/ libraryに記述されているはずです。

私はエラーが私はただのconfig.phpに設定するために必要な...かなり簡単だった固定ロギングしまったら:

$config['sess_save_path'] = sys_get_temp_dir(); 

これは3.xでは新しいだったと私はそれを見落としていました。私はそれが今必要なときにそれを空にしました。

希望すると、誰かに役立ちます。

0

使用このhtaccessのルール

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine on 
    RewriteBase/

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ /index.php?/$1 [L] 
</IfModule> 

<IfModule !mod_rewrite.c> 
    # If we don't have mod_rewrite installed, all 404's 
    # can be sent to index.php, and everything works as normal. 
    # Submitted by: ElliotHaughin 

    ErrorDocument 404 /index.php 
</IfModule> 
+0

それはFollowSymlinksを試す良い提案でしたが、残念ながら私の状況では役に立たなかった。まだ同じエラー。 – bjacobs

0

は、私はあなたのサーバーのconfファイルを編集することができると思います。サーバがhttpdがされている場合は、編集httpd.confファイル&はコード

<Directory /var/www/html/> 
    #Options Indexes FollowSymLinks 
    AllowOverride All 
    #Order allow,deny 
    #allow from all 
# Require all granted 
</Directory> 
+0

しかし、私がHerokuを使用している場合、httpdを編集するにはどうすればよいですか? – bjacobs

関連する問題