HetemlサーバーにComposerを入れてWordPressで.envを使う
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を入れる
$ 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を入れる。
$ 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'));
...
$ 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
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
を追加したらできあがり。
Author And Source
この問題について(HetemlサーバーにComposerを入れてWordPressで.envを使う), 我々は、より多くの情報をここで見つけました https://qiita.com/moroi/items/7bc313dc2aa01230c3bc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .