Scriptスマートフォン専用ページを表示Script秘密です。見つけたら出会いを大切にしたいです。内緒にね!広告この広告は30日以上更新がないブログに表示されております。新規記事の投稿を行うことで、非表示にすることが可能です。マルチサイトとか立てたちゃっているサイトだと本当、面倒です。引っ越し自体はたくさん参考になるサイトが見つかるので、ぜひググってください。ワードプレス自体の引っ越しに関してはいろいろ情報はあります。本当に正しく引っ越しできたのか?といった移行の正しさを確認する方法が少なかったです。石橋を叩いて渡る性格だと、なんか不安です・・・がっちりテストケースを組んでやるほど余力もないので、チョー簡単に確認する手段を検討しました。その方法とは、URLが移行前と、移行後が一致するかです。同じワードプレス、MySQLを使って、引っ越ししているわけなので、基本記事が表示されるはずです。データベースごとごっそり移行した場合、あまり神経質になる必要はないかと思います。ワードプレスの基本機能にある、エクスポート、インポートを使う場合には、ワードプレス自体の設定も絡んでくるので確認したい項目ですね!ワードプレスのプラグインでいいのがあったらと探したんですが、網羅されているURL一覧プラグインは見つかりませんでした。)プラグインを探して確認してみて、希望に合うものが見つからなかったので疲れたました。そこで、探す時間がもったいなかったので、サクッと手抜きphpを作ることにしました。htaccessでwww統一設定はしちゃダメ!ワードプレス4.5ドメイン名をwwwありか、wwwなしで統一したいことがありますよね今回はロリポップ(スタンダード)を使ってハマったお話です。ちなみに、これはロリポップに限った話ではなく、ワードプレス全般の話です。最初に正解を書いておきます。(URL)も合わせて修正してください。こんな簡単なことなんです、でも忘れたりしていると30分ぐらいハマります・・・よくありがちな間違い価格が安かったお名前COMで独自ドメインを取得して、ロリポップで利用する設定をしました。ここでは、例として、example.comというドメイン名にしています。今回はワードプレスを使ったサイトにしようと「簡単インストール」でさくさく!っと最新ワードプレス4.5.3をインストールしました。インストール時に指定したドメインは、wwwなしの、example.comです。「wwwあり」、www.example.comに統一するために、sshでログインして、.htaccessファイルを編集します。WordPressの前に以下のような感じで、wwwが付いてなかったら、wwwをつけてリダイレクトするっていう設定を行います。リダイレクトが繰り返し行われました。アクセスできない状況に陥ります。99などで、mod_rewriteの挙動をログファイルに出力することができます。この設定は、htaccessに指定します。一般的なレンタルサーバー、ここではロリポップでは指定できない項目になります。(サーバー側のエラーになります)「リダイレクトが繰り返し行われました。少なくともhtaccessに指定した内容を理解できていることになります。このエラーは、クライアント側(自分のPC側)で判断された内容です。ログファイルが使えない場合、有効なデバッグ方法の一つとして直接httpアクセスしてみる方法があります。そのコマンドは、curlです。-vオプションを指定すると詳細な挙動を確認できます。レスポンスボディ簡単に説明すると、リクエスト、レスポンス、レスポンスボディの3つの情報がわかります。リダイレクトで、移動先(location)はwww.example.comになります。locationで移動してくれないブラウザのために、hereリンクのHTMLを出力してくれていることがわかります。ここまでの動作は、予定通り、正しい流れですよね。次に、リダイレクト先のwww.example.comで確認してみます。intactwww.example.comにアクセスすると、example.comに移動しましたっていう結果になります。「リダイレクトが繰り返し行われました。」本当に起きています。=>・・・・という感じで繰り返されていることがわかりました。まとめ正解は、htaccessに指定してはいけなかったです。(URL)にwwwを指定するが正解です。htaccessで指定する必要はありません。今回使っているサーバーは、ロリポップスタンダードです。月額500円でsshログインもできちゃうサーバーなので、bash使える方は簡単に設定できます。月額500円より安いライトプランでもワードプレスが使えます。MySQLが1つしか使えなくても、ワードプレスは1つのMySQLに複数インストールできちゃいます。マルチドメイン50個まで対応しているので、最大50個のサイトも作れますよ。詳細はこちらライトプランはsshが使えません、またphpが高速に動くモジュール版も使えません。速いの!って思ったらスタンダードが鉄板だと思います。ワードプレス2016年07月08日エックスサーバーのsqlite3でどハマりした件データベースっていいですよね!MySQLとか、SQLiteとか、レンタルサーバーで使いたい放題です。今回、お名前共用サーバーからエックスサーバーへ乗り換えようと思い立った理由は、お名前共用サーバーの月額1000円、エックスサーバーの月額1000円、金額が同じだからです。お名前共有サーバーを使っていて、すごい困った事っていうのは特にありませんでした。Insightsでサーバーの応答速度の指摘事項を消す事ができなかったmod_deflate/mod_expiresが使えない振り返ると結構あるもんですねま、いいんです、お名前COMで賢威も安く買えたので、満足しています。今回エックスサーバーに変えたのは、php7が使える事、mod_pagespeedが使えたりすること、あと、お友達に聞くと、みんな揃ってエックスサーバーがいいってオススメされたこともでかいです。かる〜い気持ちで、X10を契約しました。サーバーの応答速度は合格」です。これだけでも、結構満足度高いです。ちなみに、お名前共用サーバーではあがいてあがいて、不合格のままでした。gccも使えたので、コンパイルし放題かもしれません。gccは4.1.2と結構古めです。今時のバイナリを持ってきても、libcが古いので動かない可能性大です。コンパイルしましょうね!(make/configureはちゃんと動きました)前置きが長くなってしまいました、ようやく本題に入ります。現時点では解決できていません。エックスサーバーのsqlite3でどハマりした件エックスサーバーは、php7への取り組みがとても早かったので、スペック最新なんだね!という印象でした。細かいところまで確認しないで契約してしまったのがいけないんですけど・・お名前.comの共用サーバーでは、pdo_sqliteのバージョンは、3.7系でした。エックスサーバーでは、pdo_sqliteのバージョンは、3.3系でした。古いバージョンなんです。テーブルとFTSを使っています。実はこれがネックになっていて、3.3系では弾かれエラーになりました。問い合わせしてみたら、1時間あまりで即応答もらえました。(エックスサーバーのサポートいいね!)sqlite3.3.6以外は使えないとの回答でした。ッテム・・・システムを組んでいるひとは、必要なモジュールのバージョンをしっかり確認しましょうと、少し失敗してしまった私が言います(笑)じゃ、どうするか・・・エックスサーバーのX10は50個のMySQLサーバーデータベースで、1つあたり500MBまでの容量が使えます。1データベース500MBの制限はちょっと厳しい感じですが、データベースを複数個使ったシステムに変更しようと計画中です。モジュールの全文検索(FTS)対応コンパイル手順」に書いてある方法です。FTSが有効なpdo_sqliteを自分で用意して、php.iniに適用する方法です。この方法は、エックスサーバーのサポート外、自己責任となります。既存ソースコードに手を加えなくていいっていうところが魅力です。Library:3.8.10.2PDOとSQLite3のバージョンは一緒だと思っていたんですが、違いました!ちなみにPHPは、php-7.0.7を使っています。3.8系はFTS、全文検索がサポートされているので期待大です。・・・PDOとSQLite3は別物です。似ているけど使い方が違いますこの違い、差分を吸収できるクラスを知っているって方はコメントから教えていただけると幸いです。SQLite3差分クラス()的な呼び出しをすると後はPDOとSQLite3の差分を吸収してくれて、ソースを修正する必要ないって感じが望みなんです。PDOは行数を返します、SQLite3は成功、失敗だけですまだまだ違いはたくさんあります。そのまま修正するとソースコード修正箇所もうなぎのぼり!と、ちょっと断念気味です。修正方法のまとめここまでの修正方法をまとめると3つの方法がありました。1)sqlite3をやめて、MySQL+FULLTEXTを活用するPDOを使っているので、ソースコードの修正は部分的です。queryの方法が違うので、それなりの規模感を感じています。2)pdo_sqlite3を自前で用意するエックスサーバーと同じようなLinuxのバージョン、gccなどを揃えて、pdo_sqlite3を作る必要があります。ソースコードの修正は一切不要です。SQLite3()に変更するエックスサーバーのpdo_sqliteのバージョンは古かったですが、SQLite3のバージョンは3.8系で新しかったです。PDOとSQLite3クラスは考え方が違うので、ソースコードの修正は広範囲になりそうです。最後にここで書いているのは独自のPHPでシステムを組んでいる場合の話で、ワードプレスを使い倒す分には、エックサーバーという選択は正しいと感じています。速くて、PHPのバージョンも豊富だからオススメできます。レンタルサーバー『エックスサーバー』X10じゃ何もないかと思っていたんですが、ドメイン1つもらえました。サーバ使っている限りはずっと更新料がかからないやつでした。修正方法のまとめの追記(7/14)最終的に移行できたので、その顛末をご報告しておきます。1)sqlite3をやめて、MySQL+FULLTEXTを活用する最後の手段として残しておきました。結局この方法は選びませんでした。2)pdo_sqlite3を自前で用意するこの方法は断念しました。以下に理由を説明します。x86_64のpdo_sqliteをダウンロードし、抽出、そしてエックスサーバーに適用してみました。=>エラーでロードできませんでした。0別途環境を用意するのは面倒だったので、エックスサーバーにはgccがあるじゃないか!phpをコンパイルし、エックスサーバーでphpizeコマンドを作りました。phpizeコマンドでpdo_sqliteをコンパイルし、適用してみました。所定のフォルダ以外に置かれたものは適用できない旨の情報をみつけました。root(管理者)じゃなきゃ、無理って思い、この時点で諦めました。SQLite3()に変更する結局この方法を採用しました。SQLite3への変更箇所をまとめる以下6点でした。やりながらメモっていたので抜けがあるかもしれません。execute(void)bindParamで文字列の結合を行った値を渡していたらうまく動かずかなり悩みました。渡した値は参照渡しが基本で、bindParamで設定した値が確定するタミングはexecute、ということでエラーになっていました。http://webmaster.chielog.com/php/133.htmlが参考になりました。$value1)とかに変更したら問題解決です。今回のロジックではCRUD系が少なかったので楽でした。最新記事(01/22)「パンくずリスト」の問題が新たに検出されました。無料ブログカテゴリアーカイブさくら(1)node.js(2)javascript(2)効率化(3)shell(3)php(5)レンタルサーバー(8)お名前COM(2)ロリポップ(2)ワードプレス(11)エックスサーバー(5)無料ブログ(2)月別アーカイブ2020年01月(1)2019年06月(1)2019年05月(1)2018年06月(1)2018年02月(3)2018年01月(1)2017年11月(1)2017年10月(3)2017年09月(1)2017年08月(2)2017年07月(5)2017年06月(2)2017年04月(1)2016年11月(1)2016年09月(1)2016年08月(1)2016年07月(3)2016年05月(1)2016年03月(6)2016年02月(1)×この広告は30日以上新しい記事の更新がないブログに表示されております。