cakephp3 – DB設定時のTime Zoneエラー

Windows10でXampp使ってcakephp3を動かすとき、DB設定のtimezoneをAsia/Tokyoにすると下記エラーがでた。
General error: 1298 Unknown or incorrect time zone: ‘Asia/Tokyo’

対処法は、ここのとおりやったらできた。

ここから、timezone_2017a_posix_sql.zipをダウンロード・展開して、出てきたsqlファイルをどこかに置く。

そして、下記のようにやる。
$ cd /d/xampp/mysql/bin
$ ./mysql -u root mysql -p < /e/timezone_posix.sql

Xampp windows10 PHP sendmail 設定 (gmailを使う)

php.iniの設定と、sendmail.iniの設定をして、stunnelをインストールして、stunnel.confを設定する。

php.iniの設定

php.iniの場所は、xampp/php/php.ini
[mail function]という箇所を下記のようにする。

[mail function]
SMTP=localhost
smtp_port=465
sendmail_path = "D:\xampp\sendmail\sendmail.exe -t"
mail.add_x_header=On

sendamil.iniの設定

sendmail.iniの場所は、xampp/sendmail/sendmaill.ini

[sendmail]
smtp_server=localhost
smtp_port=25
smtp_ssl=none
auth_username=hogehoge@gmail.com
auth_password=hoge

stunnelのインストール

stunnel: Downloads

stunnel.confの設定

stunnel.confのバックアップをとっておき、中身を下記のようにする。

[gmail-smtp]
client = yes
accept = 127.0.0.1:25
connect = smtp.gmail.com:465
verify = 2
CAfile = ca-certs.pem
checkHost = smtp.gmail.com
OCSPaia = yes

[ssmtp]
accept  = 465
connect = 25
cert = stunnel.pem

最後にXamppコントローラでApacheを再起動する。

Mac10.8.3 cakePHPとMySQLの連動エラーの対応(XAMPP使用時)

cakePHPでBakeしようとしたら、下記エラーが出た。

Warning Error: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock)

XAMPPのphpinfo()で、MYSQL_SOCKETのパスを確認し、上記エラーに出ている/var/mysql/mysql.sockに、MYSQL_SOCKETのパスのシンボリックリンクを作成すれば解決できた。

sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock /var/mysql/mysql.sock

色々なブログに、php.iniやmy.cnfのdefault.socketやportの設定をするなど書いてあったが、XAMPPは設定済みだった。また、cakePHPのdatabase.phpに、直接ソケットの指定をするということで、下記を記述するなどもあったが、これを記述しても上記エラー表示は変わらなかった。

'port' => '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock',

また、database.phpの、’host’ => ‘localhost’,を、’host’ => ‘127.0.0.1’,に変更するという記載もあったが、これを変更しても、エラーは解決しなかった。(エラーの表示は下記に変わった。)尚、今回の解決策は、database.phpの、’host’ => ‘localhost’,という設定でないといけない。’host’ => ‘127.0.0.1’にしてしまうと、シンボリックリンクを作成しても、解決しない。

PDO::__construct(): [2002] Connection refused (trying to connect via tcp://127.0.0.1:3306)

WordPress ローカル環境でプラグインがインストールできない

ローカル環境は、Mac OS X 10.8.3で、サーバはXAMPPです。
WordPressの管理画面で検索して、インストールしようとしたら、サーバーにFTPアクセスする必要があるといわれてしまいインストールできない。
プラグインのzipフィアルを落としてきて、アップロードしようとしても、アクセス権限がないといわれてインストールできない。

結局、いろいろなブログを調べて、wp-config.phpに下記を追記した。これでFTPモードではなく、直接DLに切り替わるらしい。

define('FS_METHOD', 'direct');

そして、XAMPPのhtdocs以下すべてのディレクトリとファイルの所有者とグループをwwwにして、パーミッションを777にしたら、両方の方法ともにインストールができるようになった。

cd /Applications/XAMPP/xamppfiles/
sudo chown -R www:www htdocs
sudo chmod -R 777 htdocs

ここまでしなくても出来るのかもしれない。
インストールが終わったら、所有者とグループを元に戻さないとEclipseで作業できない。

sudo chown -R root:admin htdocs