diff --git a/src/Eccube/Controller/Install/InstallController.php b/src/Eccube/Controller/Install/InstallController.php index 07df133e1be..2cff1f4b8a3 100644 --- a/src/Eccube/Controller/Install/InstallController.php +++ b/src/Eccube/Controller/Install/InstallController.php @@ -73,12 +73,6 @@ class InstallController extends AbstractController 'mcrypt', ]; - protected $writableDirs = [ - 'app', - 'html', - 'var', - ]; - /** * @var PasswordEncoder */ @@ -159,7 +153,7 @@ public function step1(Request $request) } /** - * ディレクトリの書き込み権限をチェック. + * ディレクトリとファイルの書き込み権限をチェック. * * @Route("/install/step2", name="install_step2") * @Template("step2.twig") @@ -172,20 +166,30 @@ public function step2() throw new NotFoundHttpException(); } - $protectedDirs = []; - foreach ($this->writableDirs as $writableDir) { - $targetDirs = Finder::create() - ->in($this->getParameter('kernel.project_dir').'/'.$writableDir) - ->directories(); - foreach ($targetDirs as $targetDir) { - if (!is_writable($targetDir->getRealPath())) { - $protectedDirs[] = $targetDir; - } + $noWritePermissions = []; + + // ディレクトリの書き込み権限をチェック + $targetDirs = Finder::create() + ->in($this->getParameter('kernel.project_dir')) + ->directories(); + foreach ($targetDirs as $targetDir) { + if (!is_writable($targetDir->getRealPath())) { + $noWritePermissions[] = $targetDir; + } + } + + // ファイルの書き込み権限をチェック + $targetFiles = Finder::create() + ->in($this->getParameter('kernel.project_dir')) + ->files(); + foreach ($targetFiles as $targetFile) { + if (!is_writable($targetFile->getRealPath())) { + $noWritePermissions[] = $targetFile; } } return [ - 'protectedDirs' => $protectedDirs, + 'noWritePermissions' => $noWritePermissions, ]; } diff --git a/src/Eccube/Resource/locale/messages.ja.yaml b/src/Eccube/Resource/locale/messages.ja.yaml index d92088833c6..a7aeac98659 100644 --- a/src/Eccube/Resource/locale/messages.ja.yaml +++ b/src/Eccube/Resource/locale/messages.ja.yaml @@ -1566,7 +1566,7 @@ install.start_eccube_installation: '
EC-CUBEのインストールを開始し
install.cooperation_of_providing_information: 'EC-CUBEのシステム向上・デバッグのため、サイト情報の提供にご協力おねがいいたします。
目的以外で利用することはございません。
(サイト情報:お店のURL、PHPバージョン、DBバージョン)'
install.accept_infomation_provision: 送信を承諾する
install.permission_is_valid: アクセス権限は正常です
-install.permission_is_invalid: 以下のディレクトリのアクセス制限を変更してください。
+install.permission_is_invalid: 以下のファイルまたはディレクトリに書き込み権限を付与してください。
install.system_requirement: システム要件をご確認ください
install.required_extension_disabled: '[必須] %module%拡張モジュールが有効になっていません。'
install.required_database_extension_disabled: '[必須] pdo_pgsql又はpdo_mysql 拡張モジュールを有効にしてください。'
diff --git a/src/Eccube/Resource/template/install/step2.twig b/src/Eccube/Resource/template/install/step2.twig
index 38f48db3a3f..56195fddc6a 100644
--- a/src/Eccube/Resource/template/install/step2.twig
+++ b/src/Eccube/Resource/template/install/step2.twig
@@ -23,18 +23,18 @@ file that was distributed with this source code.