RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作

Google Driveを使ってXAMPP+CakePHPのドキュメントルートを共有する in Windows

投稿日:2019年2月4日 更新日:

どこでも同じように作業がしたい。
デスクトップでも、ノートでも。

無論、サーバー(XAMPP)も同じように動かしたいな

・・・ということで、Google Driveを使って環境を構築していきます。
今回はXAMPPとCakePHPの組み合わせですが、ほかにも応用が利きそうですね。

きっかけ

MicroSoft Surface Laptop2を購入しました。

今まではデスクトップのみ(椅子に何時間も座りながら!)でプログラミングをしていたので、もっと楽したいと思いました。
ノートなら寝転びながらでも出来るし、負荷の高い演算はデスクトップで行えたら楽だなあと。

Google Driveのインストール

Google Driveをインストールします。

インストール先は、C直下の「C:\GoogleDrive」にしましょう。

* CakePHPを使う場合は、必ずこの設定を守ってください。
CakePHPではindex.phpにて、ルートディレクトリを設定しています。
もしこの設定をusers(ユーザー)ディレクトリ以下にすると、ユーザー名を統一しなければ、サーバー起動時にindex.phpを一々書き換えないと動きません。

index.php設定例

define('ROOT', DS.'GoogleDrive'.DS.'localhost'.DS.'home'.DS.'cake');

間違い例

PC1「C:\users\m.saito\GoogleDrive」
PC2「C:\users\saito\GoogleDrive」
CakePHP index.php<どっち選んでも片方エラー出るんだけど詰んでない?)

CakePHPのhtdocsの移動

「C:\GoogleDrive」ディレクトリにlocalhostディレクトリを作成しましょう。
ここにCakePHPのhtdocsディレクトリの中身を移します。

XAMPPの設定変更

C:\xampp\apache\confのhttpd.confを変更します。
251行目くらいにあるDocumentRootを下記の通りに変更してください。

DocumentRoot “C:/GoogleDrive/localhost”
<Directory “C:/GoogleDrive/localhost”>

CakePHPのindex.phpの変更

CakePHPのドキュメントルートにあるindex.phpのROOTを設定します。

通常は下記のようにしていると思いますが、

define('ROOT', DS.'xampp'.DS.'htdocs'.DS.'home'.DS.'cake');

下記の通りに変更してください。

define('ROOT', DS.'GoogleDrive'.DS.'localhost'.DS.'home'.DS.'cake');

XAMPPの再起動

XAMPPを再起動させてください。
それで問題なく動くと思います。

共有PCの設定

同じように作業したいPCには、今回の手順の「CakePHPのhtdocsの移動」以外を行ってください。
その後GoogleDriveが共有されれば、問題なく動きます。

動かない場合は・・・

エラー文をググりましょう。
特に多そうなのが以下のような状況でしょうか。
・MySQLのrootのパスワードが違う→一致させてね
・データベースに接続できない→cake/app/Config/database.phpの中身見てね
・文字コードが一致しない→MySQL 8 のデフォルト文字セット系をすべて utf8mb4 にする cnf の書き方メモ・・・おすすめはutf8mb4です。utf8でもいい感じ。統一しましょう!(ただしmy.cnfはmy.iniに名前変更されている)
引っかかるところがあれば聞いてくださいませ。

-Web制作

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

[Python:Predict Gollira]2枚の画像でどちらがゴリラっぽいかを人間が予想する。

「あーこの人ゴリラっぽい。」と思うことはありませんか? ゴリラっぽさってどこから来るんだろうかと悩んでいました。 前回、[Python] ディープラーニングのモデル「VGG16」を使って画像認識をし、 …

no image

[PHP]まとめ読みをPSRで改良する(3)

(2)の記事から「PDO」を使い、データの通信をオブジェクト化しました。 password_hashを使い、パスワード処理の暗号化も行いました。 PDOを導入する一番の理由は「mysql_query」 …

[Kaggle] Titanic 約80% by ランダムフォレスト

実力不足感が否めませんが、Kaggleのチュートリアル的なTitanicにおいてランダムフォレストで正答率約80%を出せたのでコードを載せておきます。 Colaboratory 実施期間:2019/0 …

ゲームアプリ運営の分析ノウハウ vol.1 概要編

はじめに 以前から、Twitterなどでこんな悩みを見聞きしていました。 「ゲームアプリを運営する際に、どのような視点で、どのような指標を分析すべきかわからない」というものです。今回はそちらのお悩みに …

[Meisyo]ソースコードから学ぶ試合の基礎設計1

ワンボタンで監督始点の高校野球の試合を楽しめる名将と呼ばれた者達。その試合中には、多くのアルゴリズムが活躍しています。 ここでは、試合の設計を理解することで強いチームを作る指針を記載しておきます。 ソ …