【WordPress】お手軽なデバッグ方法メモ

スポンサードリンク

お手軽デバッグコードのポイント

echo '<pre>'; var_dump($arg); echo '</pre>';

var_dump 前後を echo を使って pre タグで囲むのがポイントですわね。

“【WordPress】お手軽なデバッグ方法メモ”の続きを読む

【Windows】【Visual Studio Code】PHP ファイルを開くと表示される ‘php.validate.executablePath’ エラーに対処する

ポイント

  • php.exe を指定してやれば解決できる。
  • エラー回避が目的で、Windows で PHP を実行することが目的ではない。
    そのため、PHP の種類、バージョンや、環境変数を厳密に設定しない。
  • PHP は Non Thred Safe 版をダウンロードした。
    これは、IIS (Internet Infomation Services) で PHP を使用する場合に利用するとのこと。
  • PHP バージョンを出来るだけ開発環境に合わせようと思ったが、開発環境のバージョンが低すぎてダウンロードできなかったため、この時点で最も低いバージョンである 5.5 をダウンロードした。
  • PHP のパス、つまり環境変数 PATH の設定はしていない。

“【Windows】【Visual Studio Code】PHP ファイルを開くと表示される ‘php.validate.executablePath’ エラーに対処する”の続きを読む


スポンサードリンク

【phpmig】【MySQL】マイグレーション時に文字化けする時の修正方法

ポイント

  • PDO をインスタンス化する際に、文字コードを指定する。
  • PHP バージョンによって指定方法が異なることに注意

環境

  • PHP 5.3.3 (cli) (built: Aug 11 2016 20:33:53)
  • mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

“【phpmig】【MySQL】マイグレーション時に文字化けする時の修正方法”の続きを読む

【PHP】phpmig で MySQL のマイグレーションをするまでの導入手順

ポイント

  • Pimple もインストールすること。さもないと、phpmig migrate 時に Fatal error: Class ‘Pimpli¥Container’ not found in … とエラーになった。
  • Pimple インストール方法については、phpmig の README には記載されていないので注意。

“【PHP】phpmig で MySQL のマイグレーションをするまでの導入手順”の続きを読む

【苦労した】【CentOS 5 64bit】PHP 5.2.17 をビルドするために Lemon Parser をインストールする手順

PHP 5.2.17 をソースからビルドした時、Lemon Parser がなかったために、出た警告を解消するのに、すごく苦労いたしました。

なぜなら、yum で簡単にインストール、、、できなかったからですの><。

最終的にはほうっておくことにしたのですけれども、試行錯誤を残しておきますわ。

環境

  • CentOS release 5.11 (Final)
  • x86_64

ポイント

  • Lemon Parser がない場合、PHP 5.2.17 コンパイル時に警告が出る。
  • yum や rpm でインストールすることができない。
  • コードをダウンロードし、自分自身で Lemon Parser をビルドする必要がある。
  • The LEMON Parser Generator
    の lemon リンクから最新ソースへと移動できる。
  • Lemon Parser ダウンロード: SQLite: Artifact Content
  • 上記ページの [Download] からコードを入手可能。

“【苦労した】【CentOS 5 64bit】PHP 5.2.17 をビルドするために Lemon Parser をインストールする手順”の続きを読む

PHP タグ省略を有効にする手順

PHP ファイルの開始を、<?php でも <? でもOK とするための、php.ini の修正方法となります。

遭遇したエラー

“PHP タグ省略を有効にする手順”の続きを読む

【VirtualBox】【Mac】【CentOS7】LAMP (ただし Nginx) 環境を整える

環境

  • MacBook Pro (Retina, 13-inch, Late 2012)
  • OS X El Capitan 10.11.3(15D21)
  • VirtualBox バージョン 5.0.14 r105127

構築するもの

  • CentOS7 仮想マシン
  • 仮想マシン IP アドレス: 192.168.56.111
  • 仮想マシンへの SSH 接続環境
  • chrony (インターネット時刻同期) と Vim
  • ファイアウォールは SSH と HTTP のみ開放
  • Nginx ← 最新版
    • ドキュメントルートは /var/www/html/ とする。
    • PHP-FPM を導入する。
    • プロキシキャッシュ設定は行わない。
  • MariaDB ← 最新版
    WordPress 用に次の内容の DB を作る。

    • データベース: wpdb
    • ユーザー: wpuser
    • パスワード: wppass
  • PHP ← 最新版
    最低限と思われる次をインストールする。

    • php: PHP 本体
    • php-gd: 画像処理
    • php-mbstring: マルチバイト文字取り扱い
    • php-mysqlnd: MariaDB 接続
    • php-opcache: キャッシュ
  • WordPress
    • http://192.168.56.111
    • リビジョンは 3 に設定
    • WordPress ユーザー名: wploginuser
    • WordPress パスワード: wploginpass

“【VirtualBox】【Mac】【CentOS7】LAMP (ただし Nginx) 環境を整える”の続きを読む

AngularJS を使って Basic 認証が必要な PHP へ JSON データを POST するサンプルコード!

CORS を前提としたコードを書くときのポイント

  • AngularJS では $http のヘッダーに ‘Content-Type’: ‘application/x-www-form-urlencoded’ を追加する。しかし、Basic 認証をはじめ、カスタムヘッダーを追加する場合、この Content-Type 追加は意味が無い。
  • サーバでは、プリフライトリクエストがあった場合に対応する次のヘッダーをレスポンスに含めるようにする。
    • Access-Control-Allow-Origin:* ← 許可する接続元(* はどこからでも受け入れる)
    • Access-Control-Allow-Methods ← 許可するメソッド(POST など)
    • Access-Control-Allow-Headers ← 許可するヘッダー(authorization や独自のカスタムヘッダーなど)

CORS = HTTP access control = クロスサイト HTTP アクセス制限、とは?

  • ブラウザは、アクセスしたページ以外のドメインから何かを取ってくることを制限している。基本的にはできないようになっている。
  • そのため、たとえば次のようなことができない。ローカルホスト上のウェブサーバに AngularJS のサンプルを置いたとする。ページのボタンを押したら、とあるサイトからデータを取ってきて表示する。
  • ローカルホストドメインと、とあるサイトのドメインは異なる。ウェブブラウザでローカルホストのページを表示している。そのため、別ドメインであるとあるサイトのデータへのアクセスは制限される。
  • これは、セキュリティ上の観点から施された、ブラウザの仕様

リクエストを送信するウェブブラウザから見た CORS 時に必要な措置

“AngularJS を使って Basic 認証が必要な PHP へ JSON データを POST するサンプルコード!”の続きを読む

AngularJS を使って Basic 認証が必要な PHP へ JSON データを POST できません><

追記。問題解決できました!

以下、追記前の本文です♪

  1. 【Nginx】Basic 認証をかける方法手順メモ | oki2a24
  2. cURL を使って Basic 認証が必要な PHP へ JSON データを POST する手順メモ | oki2a24
  3. AngularJS を使って PHP へ JSON データを POST する方法 | oki2a24

と試行錯誤してまいりました。これらに続きまして、AngularJS を使って Basic 認証が必要な PHP へ JSON データを POST する方法を探っております!

できませんの><。

今回はせめてどのような結果となったのか、残しておきますの><。

“AngularJS を使って Basic 認証が必要な PHP へ JSON データを POST できません><”の続きを読む

AngularJS を使って PHP へ JSON データを POST する方法

追記。「ログインページを介さず Basic 認証」シリーズの投稿一覧です♪

  1. 【Nginx】Basic 認証をかける方法手順メモ | oki2a24
  2. cURL を使って Basic 認証が必要な PHP へ JSON データを POST する手順メモ | oki2a24
  3. AngularJS を使って PHP へ JSON データを POST する方法 | oki2a24
  4. AngularJS を使って Basic 認証が必要な PHP へ JSON データを POST できません>< | oki2a24
  5. AngularJS を使って Basic 認証が必要な PHP へ JSON データを POST するサンプルコード! | oki2a24

追記終わり!

AngularJS を使用してウェブブラウザのページでボタンを押すと、サーバへ JSON データを POST して PHP で受け取ってファイルに出力したい。

AngularJS を使用してウェブブラウザのページでボタンを押すと、サーバへ JSON データを POST して PHP で受け取ってファイルに出力してみようと試みました!

苦労しましたので、記録を残しますわ♪

ポイント

  • AngularJS で サーバに JSON をポストしたところエラーとなった。
    • フロント側では、Access-Control-Allow-Origin のエラーが発生していた。
    • サーバ側では method が POST ではなく、OPTIONS となっていた。
  • クロスドメイン問題が原因だった。
    • ちなみに、異なるドメインのデータにアクセスすることを、クロスドメインという。
  • フロント側、サーバ側の両方で対応する必要がある。
    • フロント側では、config で $httpProvider の Content-Type で x-www-form-urlencoded を設定する。
    • サーバ側では、header(‘Access-Control-Allow-Origin: *’); を設定してやる。

エラーが発生した AngularJS のコード抜粋

“AngularJS を使って PHP へ JSON データを POST する方法”の続きを読む