実現したいこと
- cakePHP+MySQL+Docker でローカルに開発環境を作り、既存ソースを動かしたい
前提
既存ソース+Docker+cakePHPでのローカル開発環境を構築したいです。
コンテナの起動まではできたのですが、
index.phpにアクセスするとタイトルのエラーが発生し、500エラーとなってしまいます。
https://book.cakephp.org/2/ja/contents.html
こちらを参考に新規で環境を作成してみたのですが、
こちらは問題なく画面が立ち上がるところまで確認できました。
ネットで調べた範囲で、.httaccessの記述に問題があるかと思ったのですが、
記載内容にも大きな違いがなく、他に何を疑うべきか検討もつかず困っております。
当方、PHPはほぼ触ったことがなく、cakePHPも初見のため、
どこでどのような設定をしているかも分からず、全てが手探り状態です。
普段はrubyでの開発を行っており、Docker自体はrubyの開発環境構築で使用しているので
基本的な知識はある程度、という感じです。
また、cakePHPのバージョンがかなり古いですが、事情によりバージョンアップの対応等は行わないとのことです。
発生している問題・エラーメッセージ
コンテナ立ち上げ後、http://localhost:3001 にアクセスすると以下エラーが発生する
画面は500エラーが返却される
AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://localhost:3001/
該当のソースコード
.htaccess
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] </IfModule>
Dockerfile
FROM php:5.6-apache RUN apt-get update -yqq \ && apt-get install -yqq --no-install-recommends \ git \ zip \ unzip \ && rm -rf /var/lib/apt/lists # Enable PHP extensions RUN docker-php-ext-install pdo_mysql mysqli # Install composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer # Add cake and composer command to system path ENV PATH="${PATH}:/var/www/html/lib/Cake/Console" ENV PATH="${PATH}:/var/www/html/app/Vendor/bin" # COPY apache site.conf file COPY ./docker/apache/site.conf /etc/apache2/sites-available/000-default.conf # Copy the source code into /var/www/html/ inside the image COPY . . # Set default working directory WORKDIR ./app # Create tmp directory and make it writable by the web server RUN mkdir -p \ tmp/cache/models \ tmp/cache/persistent \ && chown -R :www-data \ tmp \ && chmod -R 770 \ tmp # Enable Apache modules and restart RUN a2enmod rewrite \ && service apache2 restart EXPOSE 80
docker-compose.yml
version: "3" services: app: build: context: . dockerfile: docker/Dockerfile volumes: - .:/var/www/html ports: - 3001:80 environment: TZ: "Asia/Tokyo" depends_on: - db db: image: mysql:5 volumes: - db-data:/var/lib/mysql ports: - "23306:3306" environment: MYSQL_DATABASE: db MYSQL_ROOT_PASSWORD: xxxxx volumes: db-data: external: false
試したこと
- .htaccess に
RewriteBase /
の1行を追加してみた - 新規で作成した環境と既存ソースを比較し、.httaccessやDocker系のファイルの設定を合わせてみた
補足情報(FW/ツールのバージョンなど)
情報として何を出せばいいか分からず、不備不足もあると思います。
何か一つでもとっかかりが欲しく、藁にも縋る思いでこちらに質問させていただきます。
参考サイトなどでもよいので、何か情報をいただけると大変助かります。
どうぞよろしくお願いいたします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。