カテゴリー
Linux

PHP 5.3 の 1 ファイルプログラムを Composer で管理し始めるためにやること

はじめに

  • PHP 5.3.3 のサーバで動いている 1 ファイルの PHP を修正したい。
  • Composer を使っていなかったが、使いたい。
  • 手元のローカル開発環境は PHP 7.3

このような環境で、開発をするときの注意事項がわかりましたので、ノートいたします。

カテゴリー
Linux

PHP 5.3 の Composer 環境を Docker で構築する

はじめに

docs/README.md at master · docker-library/docs を見てみても、2019年9月3日現在、 PHP 5.3 のイメージはありません。

でも、古いサーバの PHP をメンテしたい時、 PHP 5.3 が欲しいのです。そこで、 Docker イメージを作ってみました。

また、古いサーバの古い PHP を、 Composer を使って管理するようにもしたいので、 Composer も Docker イメージに含めるようにしました。

カテゴリー
Linux

Composer.lock の content-hash が git merge でコンフリクトした時は composer update –lock して解決できる

composer update –lock とは?

composer update --help から抜粋です。

update

The update command reads the composer.json file from the current directory, processes it, and updates, removes or installs all the dependencies.

カレントディレクトリの composer.json を読み込み、その内容を実行し、依存パッケージのアップデート、インストールまたは削除を行う。

update –lock

  --lock                     Only updates the lock file hash to suppress warning about the lock file being out of date.

無効となってしまった lock ファイルの警告を抑えるために、 lock ファイルの hash の更新を行う。

カテゴリー
コンピューター

Laravel プロジェクトのインストールで、ディレクトリを作成しないでカレントディレクトリへ直接インストールする方法

ディレクトリを作成しないでカレントディレクトリへ Laravel をインストールする方法

  • プロジェクト名は指定しないで、 . を指定する。
composer create-project --prefer-dist laravel/laravel . "5.5.*"
カテゴリー
コンピューター

Docker を使って、Composer をインストールせずに済ませる方法

# Composer の情報を表示
docker run --rm -it -v $PWD:/app composer:latest composer

# Comoser の実行場所がホストの指定場所となっているかを、共有場所の一覧を表示することで確認
docker run --rm -it -v $PWD:/app composer:latest ls -al
カテゴリー
コンピューター

Docker の php:apache に、Composer を使えるようにする Dockerfile を作る

まとめ。Composer が使える Docker の php:apache の Dockerfile

From php:apache
RUN apt-get update && apt-get install -y \
    unzip \
    zlib1g-dev \
    && docker-php-ext-install \
    zip \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*
RUN curl -s http://getcomposer.org/installer | php && \
    mv composer.phar /usr/local/bin/composer

これが最低限必要なものを追加した Dockerfile と思いますが、ちょっと及び腰で念の為という気持ちで、利便性や、参考ページにあったものも一応追加したものが次となります。

  • git はインストールしなくても使えるが入れた。
  • echo "export PATH=${PATH}:/var/www/vendor/bin" >> ~/.bashrc && \ も無くてもよいと思う (未検証) が、一応入れた。
From php:apache
RUN apt-get update && apt-get install -y \
    git \
    unzip \
    zlib1g-dev \
    && docker-php-ext-install \
    zip \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*
RUN curl -s http://getcomposer.org/installer | php && \
    echo "export PATH=${PATH}:/var/www/vendor/bin" >> ~/.bashrc && \
    mv composer.phar /usr/local/bin/composer
カテゴリー
Linux

【CodeIgniter3】Composer のオートロードだけを使えるようにする

環境

  • CodeIgniter 3.0.6
    • ドキュメントルートに展開した状態とする。
    • つまりドキュメントルートに展開された application、system ディレクトリがあるとする。
  • PHP 5.6

ポイント

  • application/ ディレクトリに compose.json を作成し、composer install すること。
  • application/config/config.php で $config['composer_autoload'] = TRUE;< とすること。
カテゴリー
Linux

PHP で require、include したくないので Composer のオートロード (autoload) に入門する

環境

Docker の PHP 上で試しました。

  • OS バージョン
    • cat /etc/issue: Debian GNU/Linux 9 \n \l
    • cat /etc/debian_version: 9.5
  • PHP バージョン
    • php -v:
      PHP 7.2.9 (cli) (built: Aug 22 2018 23:59:10) ( NTS )
      Copyright (c) 1997-2018 The PHP Group
      Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
      root@794dbcc792c6:~# cat /etc/issue
カテゴリー
コンピューター

【CakePHP】PHPUnit is not installed. Do you want to bake unit test files anyway? への対処方法

対処方法

vim Config/bootstrap.php

ファイルの最後に次を追記します。

// composerのautoloadを読み込み
require APP . 'Vendor/autoload.php';

// CakePHPのオートローダーをいったん削除し、composerより先に評価されるように先頭に追加する
// https://github.com/composer/composer/commit/c80cb76b9b5082ecc3e5b53b1050f76bb27b127b を参照
spl_autoload_unregister(array('App', 'load'));
spl_autoload_register(array('App', 'load'), true, true);

参考ページですの♪

どんな状況で発生したか?

カテゴリー
コンピューター

Composer で開発用 CakePHP2 をインストールする手順★いつも使うプラグインも★

CakePHP2 のインストール内容

  • CakePHP とプラグイン、PHPUnit をインストールする
  • プラグインをいくつかインストールするが、有効にするのは DebugKit のみ
  • DB名:cake4db、ユーザ名:cake4user、パスワード:cake4pass、文字コード:utf8
  • ウェブサーバのドキュメントルートは /var/www/html/
  • CakePHP をインストールするプロジェクトのルートディレクトリは /var/www/html/cake4/
  • http://IPアドレス/cake4/ でアプリトップ、 http://IPアドレス/cake4/test.php でテストページトップへアクセス

データベースを作成