Composerを使用して何かを更新しようとするたびに、ファイルのロードが上書きされます。それが上書きするファイルの1つは、カスタマイズした.htaccessです。そのため、常にパッチを適用し続ける必要があります。以下は、更新を要求したパッケージが更新の必要がない場合でも、これを実行する例(以下)です。 「drupal/core-composer-scaffold」パッケージを使用してサイトを作成したためだと思います。私はこれらの指示に従っていたので、それを行いました: https://www.drupal.org/docs/develop/using-composer/using-composer-to-install-drupal-and-manage-dependencies#composer- from-scratch 。
(それがWordの場合)繰り返し足場を維持するために、私は何を間違っていますか?ありがとう。
~/sites/default$ composer update drupal/security_review
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Package academicpuma/citeproc-php is abandoned, you should avoid using it. Use seboettg/citeproc-php instead.
Package container-interop/container-interop is abandoned, you should avoid using it. Use psr/container instead.
Package technosophos/LibRIS is abandoned, you should avoid using it. No replacement was suggested.
Package zendframework/zend-diactoros is abandoned, you should avoid using it. Use laminas/laminas-diactoros instead.
Package zendframework/zend-escaper is abandoned, you should avoid using it. Use laminas/laminas-escaper instead.
Package zendframework/zend-feed is abandoned, you should avoid using it. Use laminas/laminas-feed instead.
Package zendframework/zend-stdlib is abandoned, you should avoid using it. Use laminas/laminas-stdlib instead.
Writing lock file
Generating autoload files
Scaffolding files for drupal/core:
- Copy [project-root]/.editorconfig from assets/scaffold/files/editorconfig
- Copy [project-root]/.gitattributes from assets/scaffold/files/gitattributes
- Copy [web-root]/.csslintrc from assets/scaffold/files/csslintrc
- Copy [web-root]/.eslintignore from assets/scaffold/files/eslintignore
- Copy [web-root]/.eslintrc.json from assets/scaffold/files/eslintrc.json
- Copy [web-root]/.ht.router.php from assets/scaffold/files/ht.router.php
- Copy [web-root]/.htaccess from assets/scaffold/files/htaccess
- Copy [web-root]/example.gitignore from assets/scaffold/files/example.gitignore
- Copy [web-root]/index.php from assets/scaffold/files/index.php
- Copy [web-root]/INSTALL.txt from assets/scaffold/files/drupal.INSTALL.txt
- Copy [web-root]/README.txt from assets/scaffold/files/drupal.README.txt
- Copy [web-root]/robots.txt from assets/scaffold/files/robots.txt
- Copy [web-root]/update.php from assets/scaffold/files/update.php
- Copy [web-root]/web.config from assets/scaffold/files/web.config
- Copy [web-root]/sites/README.txt from assets/scaffold/files/sites.README.txt
- Copy [web-root]/sites/development.services.yml from assets/scaffold/files/development.services.yml
- Copy [web-root]/sites/example.settings.local.php from assets/scaffold/files/example.settings.local.php
- Copy [web-root]/sites/example.sites.php from assets/scaffold/files/example.sites.php
それがDrupalのComposer Scaffoldです。"drupal/core-composer-scaffold": "^8.8.0"
またはプロジェクトのcomposer.json
ファイルで別のバージョンとしてリストされています。
Composerコマンドを実行するたびに特定のスキャフォールドファイルが上書きされないようにするには、プロジェクトの"extra"
のcomposer.json
セクションで1つずつ指定する必要があります。を参照してください。 足場ファイルを除く のドキュメント。
次のスニペットは、.htaccess
およびdevelopment.services.yml
が上書きされないようにします。
"drupal-scaffold": {
"locations": {
"web-root": "web/"
},
"file-mapping": {
"[web-root]/.htaccess": false,
"[web-root]/sites/development.services.yml": false
}
},
ただし、たとえばセキュリティ更新のために、Drupalの最新の.htaccess
を常に入手するようにしたい場合があります。そのため、このファイルをDrupal Scaffoldから除外しないでくださいが、代わりにパッチを適用します。 -Scalfoldファイルの変更 のドキュメントを参照してください。
.htaccess
のパッチを作成し、プロジェクトルートの「パッチ」と呼ばれるフォルダーに配置します。次に、"post-drupal-scaffold-cmd"
ファイルの"scripts"
セクションにcomposer.json
を設定して、このパッチがDrupalのコア.htaccess
に毎回適用されるようにしますDrupal scaffoldingトリガーされます。
"scripts": {
...
"post-drupal-scaffold-cmd": [
"cd web && patch -p1 < ../patches/htaccess-ssl.patch"
]
}