カテゴリー
Linux

【苦労した】【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] からコードを入手可能。
カテゴリー
コンピューター

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

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

遭遇したエラー

カテゴリー
Linux

【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
カテゴリー
コンピューター

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 時に必要な措置

カテゴリー
Linux

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 する方法を探っております!

できませんの><。

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

カテゴリー
Linux

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 のコード抜粋

カテゴリー
Linux

cURL を使って Basic 認証が必要な 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

追記終わり!

ウェブサーバに Basic 認証をかけ、JSON の POST を受け取る PHP プログラムの準備

次のページを参考に準備いたしました。Nginx の設定内容や、JSON を扱う PHP の内容はすべてコピーで作ることができました。

次のようなテスト環境といたしましたの。

  • https://oki2a24.com/basictest/json.php へ JSON を POST
  • Basic 認証のユーザ名: basicuser、パスワード: basicpass
  • 正常時のレスポンス: {“response”:”OK”}

1.Basic 認証で失敗することを確認

カテゴリー
Linux

JSON の Request が POST されているかを確認するだけの簡単な PHP

JSON が開発中プログラムから正しく送信されているかどうか確かめたいですの!

条件や作りたいもの

  • https://oki2a24.com に JSON 受け取り用の PHP を作って置く
  • PHP ファイル名は recieveJson.php
  • 受け取った JSON は見やすい形に整形(デコード)してファイルに書き込む。
  • JSON の内容を書き込むファイル名は recieved_json.txt とする。

JSON を受け取ってファイル出力するだけの簡単な PHP プログラム

カテゴリー
WordPress

【WordPress】ヘッダー画像を簡単に何十個でも登録する方法♪【PHP】【テーマのカスタマイズ!】

【WordPress】Twenty Fifteen の子テーマを作った記録! | oki2a24 で functions.php に次を追加しました。

2〜3個ならば手作業でヘッダーファイルをプログラムの中に記述しますけれども、数十個分も繰り返したくはありません><。

そこで、

  1. ファイル名のリストを用意しておき、
  2. 繰り返し部分にファイル名をはめ込んで表示し、
  3. これらをファイル数分繰り返す

というプログラムを組んで自動的に functions.php のヘッダーファイルを指定する部分を作りました♪なお、環境は Mac でございます。

カテゴリー
コンピューター

APCu 付属のキャッシュ状況を把握できる管理ページを使う方法♪

php 5.5 へアップデートして APC から APCu と OPcache へ切り替えました♪ | oki2a24 で PHP のキャッシュをできるようにいたしました。

2つ設定した内の1つの APCu について、【PHP】APC 付属のステータス把握できる管理ツールを使う方法♪【CentOS 5.9】 | oki2a24 も参考にしつつ管理ページの表示、それをもとにしたチューニングをしたいですの。

今回、チューニングはできませんでしたけれども、管理ページは表示できましたのでそのやり方をメモいたします。