Database Search and Replace Script in PHP をコマンドラインで用いて WordPress のデータベースの内容を移行(変換)する

Database Search and Replace Script in PHP

こちらです。ダウンロードするためには登録が必須です*1

コマンドラインで用いる

このスクリプトを Webアプリ として用いるやりかたは多く見かけます。ここではコマンドラインで実行する方法を示します。この方法を用いれば様々な自動化に組み込むことが可能になるでしょう。

*1:このスクリプトの危険性を理解しているかを確認しています

続きを読む

Deployer でデプロイする際に composer install してほしいとき

結論

deploy.phptask の第二引数の要素に deploy:vendors を書けばよいです。

具体例

(省略)
task('deploy', [
    'deploy:prepare',
    'deploy:release',
    'deploy:update_code',
    'deploy:shared',
    'deploy:vendors',
    'deploy:writable',
    'deploy:symlink',
    'cleanup',
])->desc('Deploy your project');
(省略)

公式

GitHub

サイト

PHP で Dotenv を使う

結論

vlucas/phpdotenv を使いましょう。

具体的な使い方

composer.json に書いて composer install して、コード内で require する場合を書きます。ほぼ公式ドキュメントどおりですが……。

composer.json を書く

{
    "require": {
        "vlucas/phpdotenv": "dev-master"
    }
}

実際に使うコードを書く

Dotenv を実際に使うコードを以下のように書きます。ここで、ファイル名は sample.php とします。composer install はすでに済んでいるものとします。

<?php
require './vendor/autoload.php';

$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->load();

echo getenv('FOO');

.env ファイルは以下のようにしました。

FOO="BAR"

実行する

sample.php を実行すると以下のようになります。

$ php sample.php
BAR

Composer でインストールしたバイナリを実行する方法

composer install

とりあえずまずは composer install するとします。composer.json は以下のようにします。

{
  "require": {
    "deployer/deployer": "^3.0"
  }
}

このファイルを作った後に composer install します。

dep コマンドを実行したい

composer install が終わると vendor/ 配下にもろもろインストールされています。今回インストールした deployerrequire したりして使うものではなく、直接実行するバイナリです。

このバイナリがある場所*1vendor/bin/dep です。Composer でインストールされたバイナリは vendor/bin 配下に置かれます。

dep コマンドを実行する場合、単純な方法としては ./vendor/bin/dep と実行すればよいです。ただ毎回こうするのは面倒です。場所が確定しているので、シェルの設定ファイルに以下のように書き加えましょう。

export PATH="$PATH:./vendor/bin"

これで、composer install をしたディレクトリ(プロジェクトのルートのディレクトリ)から、Composer でインストールしたバイナリをコマンド名だけで実行することができます。

$ dep # プロジェクトのルートがカレントディレクトリとします
Deployer master

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
(以下省略)

補足

PHPはど素人なので、Node でいう npx のようなものがあるかもしれません*2

*1:エイリアス

*2:きっとあると思います

h5ai で長いファイル名を途切れさせないようにする方法

h5ai

以前紹介した、ウェブサーバのディレクトリのファイル一覧をイケてる表示にしてくれるアプリケーションです。

標準の設定だと長いファイル名が切れる

日本語のファイル名だと痛感できるのですが、ファイル名が長くなってしまうと最後の部分が ... という表示になって省略されてしまいます。

f:id:gregminster:20171222165900p:plain

これをなんとかしたい。

続きを読む
Powered by はてなブログ