公開日: 2024年06月09日(Sun)
Pickles 2 のプレビュー環境は、 .px_execute.php というエントリースクリプトから全ての処理が開始されます。多くの場合、エントリースクリプトについて意識することはありませんが、プロジェクトの構成や要件によっては、このファイル名を変更したい場合があるかもしれません。
この記事では、Pickles 2 のエントリースクリプトのファイル名を変更する手順についてご紹介します。
この記事では、 Pickles 2 のエントリーファイル名を .px_execute.php から index.php に変更する場合 を想定して、手順を進めていきます。
index.php 以外のファイル名にしたい場合は、適宜読み換えてください。
エントリースクリプトファイル自体のファイル名を変更します。
エントリースクリプトは、一般的には src_px2/ に .px_execute.php というファイル名で置かれています。このファイル名を、index.php に変更してください。
エントリースクリプトと同じ階層には、.htaccess が配置されています。
このファイルの役割は、ウェブサーバー Apache を設定して、静的なURLでのリクエストを エントリースクリプトにリダイレクトすることです。
リダイレクトさせる設定の中に、エントリースクリプトのパスの記述が含まれているので、これを変更します。
#-------------------------
# for pickles2
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews +FollowSymLinks
</IfModule>
RewriteEngine on
# RewriteCond %{REQUEST_URI} !^.*?/\.px_execute\.php/
# ↓次のように修正
RewriteCond %{REQUEST_URI} !^.*?/index\.php/
RewriteCond %{REQUEST_URI} /(.*?\.(?:html|htm|css|js))?$
# RewriteRule ^(.*)$ \.px_execute\.php/$1 [L]
# ↓次のように修正
RewriteRule ^(.*)$ index\.php/$1 [L]
# RewriteCond %{REQUEST_URI} !^.*?/\.px_execute\.php/
# ↓次のように修正
RewriteCond %{REQUEST_URI} !^.*?/index\.php/
RewriteCond %{REQUEST_URI} /(.*?\.(?:ignore)([\.\/].*)?)$
# RewriteRule ^(.*)$ \.px_execute\.php/\.ignore.html [L]
# ↓次のように修正
RewriteRule ^(.*)$ index\.php/\.ignore.html [L]
</IfModule>
エントリースクリプトそれ自体は、パブリッシュの対象外であるべきです。 このための設定が、config.php の中に含まれているので、これを、index.php に書き換えます。
config.php は、通常 px-files/ にあります。
このファイルを開き、$conf->paths_proc_typeの値の中の /.px_execute.php の箇所を /index.php に書き換えます。
$conf->paths_proc_type = array(
'/.htaccess' => 'ignore',
// '/.px_execute.php' => 'ignore',
// ↓次のように修正
'/index.php' => 'ignore',
'/px-files/*' => 'ignore',
'/composer.json' => 'ignore',
'/composer.lock' => 'ignore',
'/README.md' => 'ignore',
...
プロジェクトの構成によっては、composer.json の中にもエントリースクリプトのパスが含まれている場合があります。 もし、お使いのプロジェクトにこれらが含まれていなければ、この手順はスキップしても大丈夫です。
まず、extraの設定を確認してください。
デスクトップ版 Pickles 2 babycorn などの編集ツールが、Pickles 2 の構成を知るために参照します。
ここに、エントリースクリプトのパスの記述がある場合は、index.php に変更します。
例えば次のようになります。 ./src_px2/index.php の部分が変更箇所です。
"scripts": {
"start": [
"@php ./src_px2/index.php \"/?PX=serve&S=127.0.0.1:8080\""
],
"start-pub": [
"@php ./src_px2/index.php \"/?PX=serve.pub&S=127.0.0.1:8081\""
]
},
...
続いて、scripts を確認します。
scripts は、composerの機能で、様々なタスクやコマンドを登録して、まとめて実行できる機能です。
ここに、Pickles 2 の機能の呼び出し(例えば、キャッシュの状況や、パブリッシュなど)が登録されている場合は、修正が必要です。
例えば次のようになります。 extra.px2package.path の値が src_px2/index.php に変更されています。
"extra": {
"px2package": {
"name": "Pickles 2",
"type": "project",
"path": "src_px2/index.php",
"path_homedir": "px-files/"
}
}
この記事では、Pickles 2 のエントリーファイル名を変更する手順についてご紹介しました。
手順をまとめると、次のようになります。
src_px2/.px_execute.php のファイル名を src_px2/index.php に変更する。.htaccess の RewriteCond 中の \.px_execute\.php のような箇所を、index\.php に書き換える。px-files/config.php の中の、$conf->paths_proc_type 設定の中にある /.px_execute.php を、/index.php に書き換える。composer.json の中の、extra と scripts に ./src_px2/.px_execute.php の記述が含まれる場合、 src_px2/index.php に書き換える。公開日: 2024年06月09日(Sun)