LoginSignup
4
7

More than 5 years have passed since last update.

HetemlサーバーにComposerを入れてWordPressで.envを使う

Posted at

GitHubのお供に.env

はじめに

Heteml公式のドキュメントを参考にSSHでサーバー接続できるようにしておく。

PHPのパスを通す

$ echo "export PATH=\$PATH:/usr/local/php7.1/bin" >> ~/.bashrc
$ source ~/.bashrc

$ php -v
PHP 7.1.14 (cli) (built: Feb 13 2018 16:49:16) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.0.2, Copyright (c) 2002-2017, by ionCube Ltd.
    with Zend OPcache v7.1.14, Copyright (c) 1999-2018, by Zend Technologies

Composerを入れる

公式サイトの手順に沿ってComposerを入れる。

$ cd
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php', stream_context_create( array( 'ssl' => array ( 'verify_peer' => false, 'verify_peer_name' => false))));"
$ php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Installer verified

$ mkdir bin
$ echo "export PATH=\$PATH:~/bin" >> ~/.bashrc
$ source ~/.bashrc

$ php composer-setup.php --install-dir=bin --filename=composer
All settings correct for using Composer
Downloading...

Composer (version 1.7.2) successfully installed to: /home/users/2/doocts/bin/composer
Use it: php bin/composer

$ php -r "unlink('composer-setup.php');"

パスを通す。


$ echo "export PATH=\$PATH:~/bin/composer" >> ~/.bashrc
$ source ~/.bashrc

$ composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.7.2 2018-08-16 16:57:12

Usage:
...

Composerを使う

composer init して適当にエンターを連打すると composer.json ができる。

$ cd web/example.com/
$ composer init

  Welcome to the Composer config generator

This command will guide you through creating your composer.json config.

Package name (<vendor>/<name>) [heteml/example.com]:

.envを入れる

$ composer require vlucas/phpdotenv
Using version ^2.5 for vlucas/phpdotenv
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing vlucas/phpdotenv (v2.5.1): Downloading (100%)
Writing lock file
Generating autoload files

WordPressのconfigファイルを書き換える

wp-config.php
...
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //

+ if(file_exists(__DIR__ . '/vendor/autoload.php')) {
+   require_once __DIR__ . '/vendor/autoload.php';
+   $dotenv = new Dotenv\Dotenv(__DIR__);
+   $dotenv->load();
+ }
+ if(file_exists(dirname(__DIR__) . '/vendor/autoload.php')) {
+   require_once dirname(__DIR__) . '/vendor/autoload.php';
+   $dotenv = new Dotenv\Dotenv(dirname(__DIR__));
+   $dotenv->load();
+ }

/** WordPress のためのデータベース名 */
- define('DB_NAME', 'abcde');
+ define('DB_NAME', getenv('DB_NAME'));

/** MySQL データベースのユーザー名 */
- define('DB_USER', 'fghij');
+ define('DB_USER', getenv('DB_USER'));

/** MySQL データベースのパスワード */
- define('DB_PASSWORD', 'klmno');
+ define('DB_PASSWORD', getenv('DB_PASSWORD'));

/** MySQL のホスト名 */
- define('DB_HOST', 'opqrs');
+ define('DB_HOST', getenv('DB_HOST'));
...

.env ファイルを作って設定を書き込む。

.env
DB_NAME=abcde
DB_USER=fghij
DB_PASSWORD=klmno
DB_HOST=opqrs

.gitignore.env を追加したらできあがり。

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7