방금 Drupal 8에 뛰어 들었고 프로젝트에서 파일 기반 구성을 활성화하는 데 문제가 있습니다. 다음 지침을 사용하고 있습니다. https://www.drupal.org/node/2416555
모든 단계를 따랐지만 구성을 변경하려고 할 때마다 다음 오류가 발생합니다.
Drupal\Core\Config\StorageException: Failed to create config directory
./../config/active in Drupal\Core\Config\FileStorage->ensureStorage()
(line 72 of /Users/bbalan/Sites/d8project/web/core/lib/Drupal/Core/Config/FileStorage.php).
내 settings.php의 경로에 문제가 있다고 생각합니다. 지침에는 아마도 보안상의 이유로 웹 루트 외부의 경로를 사용하라는 내용이 있습니다. 내가 가진 것은 다음과 같습니다.
$config_directories = array(
CONFIG_ACTIVE_DIRECTORY => './../config/active',
CONFIG_STAGING_DIRECTORY => './../config/staging',
CONFIG_SYNC_DIRECTORY => './../config/sync',
);
모든 구성 디렉토리 권한을 777로 설정했으며 활성 / 스테이징 / 동기화 디렉토리는 이미 수동으로 생성되었습니다 (또한 777도 사용). 내 프로젝트 폴더의 내용은 다음과 같습니다.
-rw-r--r-- 1 bbalan staff 18046 8 Aug 15:22 LICENSE
-rw-r--r-- 1 bbalan staff 4787 8 Aug 15:22 README.md
-rw-r--r-- 1 bbalan staff 2299 8 Aug 17:35 composer.json
-rw-r--r-- 1 bbalan staff 206302 8 Aug 17:35 composer.lock
drwxrwxrwx 6 bbalan staff 204 8 Aug 15:36 config
drwxr-xr-x 4 bbalan staff 136 8 Aug 15:22 drush
-rw-r--r-- 1 bbalan staff 481 8 Aug 15:22 phpunit.xml.dist
drwxr-xr-x 3 bbalan staff 102 8 Aug 15:22 scripts
drwxr-xr-x 42 bbalan staff 1428 8 Aug 17:36 vendor
drwxr-xr-x 19 bbalan staff 646 8 Aug 17:23 web
이것은 https://github.com/drupal-composer/drupal-project의 지침에서 Composer로 빌드 된 Drupal 8.1.8 설치 입니다. 모든 Drupal 사이트 파일은 /web
. 내 httpd-vhosts.conf는 다음과 같습니다.
<VirtualHost *:80>
ServerName drupal-8.local
ServerAlias drupal-8.local
DocumentRoot /Users/bbalan/Sites/d8project/web/
<Directory /Users/bbalan/Sites/d8project/web/>
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
어떤 아이디어? /config
dir을 웹 루트의 위치 (예 :)로 이동하면 모든 것이 작동 /sites/default/files/config
하지만 이는 안전하지 않고 지침에 위배됩니다.
도움을 주셔서 감사합니다!
구성 디렉토리를 777로 사용하는 것은 권장하지 않습니다. 755는 소유자와 그룹 구성원이 읽고 쓸 수 있기 때문에 훨씬 더 나은 접근 방식입니다. 그룹 구성원의 실행을 허용하려면 775를 시도 할 수도 있습니다. 또한 웹 서버 사용자가 해당 그룹의 일부인지 확인하십시오. Apache는 일반적으로 www-data를 사용합니다. 또한 구성 디렉토리를 sites/default/sync
.
$config_directories = array(
CONFIG_ACTIVE_DIRECTORY => 'sites/default/config/active',
CONFIG_STAGING_DIRECTORY => 'sites/default/config/staging',
CONFIG_SYNC_DIRECTORY => 'sites/default/config/sync',
);
해당 디렉토리가 존재하고 웹 서버가 그룹의 일부인지 확인하십시오 staff
.
내가 확인할 또 다른 것은 Drupal의 상태이며 거기에서 무엇을 알려주는지 확인합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다