Labs

<< 最初 < 前ページ 次ページ > 最後 >>
PHP のトピック一覧 条件クリア
icon 2017/06/08 define指定した一覧を取得
get_defined_constants() そのままだと全ての define値を取得される。
引数に「true」指定すると、連想配列の「user」にユーザ指定した define値を取得できる。
        $defined_constants = get_defined_constants(true);
        $this->defined_constants = $defined_constants['user'];
icon 2016/07/05 PHP5.6でSSL通信エラー
PHP5.6からOpenSSLの仕様が変更になりました。
PHP 5.6.x における OpenSSL 関連の変更

これにより、file_get_contents()やimagesize()のような関数がエラーになります。
特に開発環境で自己証明書を利用時には注意です。

SSL通信結果確認


<?php
ini_set('display_errors',1);
ini_set('log_errors','On');

stream_context_set_default([
    'ssl' => [
        'crypto_method' => STREAM_CRYPTO_METHOD_TLS_CLIENT,
        'capture_session_meta' => true,
    ],
]);

file_get_contents('https://www.google.com/');

$ctx = stream_context_get_default();
$meta = stream_context_get_options($ctx);
var_dump($meta['ssl']['session_meta']['protocol']);

$results = file_get_contents('https://ローカルドメイン/');
var_dump($results);
?>

https://www.google.com/ は信頼されるドメインのため正常にSSL通信できます。
https://ローカルドメイン/ は信頼されないドメインのためエラーになります。

証明書の確認


openssl コマンドで証明書内容を表示して、CN(ドメイン)を確認
CNとhttpsのドメインが一致しないと、file_get_contents()できません。

openssl x509 -in server.crt -text
Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number:
            e3:03:47:2c:20:5c:7f:9e
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=JP, ST=Tokyo, L=yoo, O=Telepath.inc, OU=Develepment, CN=debian/emailAddress=yoshikawa@telepath.co.jp
        Validity
            Not Before: Jul  4 10:31:50 2016 GMT
            Not After : Jul  2 10:31:50 2026 GMT
        Subject: C=JP, ST=Tokyo, L=yoo, O=Telepath.inc, OU=Develepment, CN=debian/emailAddress=yoshikawa@telepath.co.jp
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
....


SSL通信は自己証明書のドメインと一致させる


開発環境だとIP通信してしまいがちですが(自分もそう)、自己証明書のドメインと異なる場合、通信エラーになります。

URLは自己証明書のドメインを利用しましょう。

php.iniの設定


以下のファイルに「cafile」「capath」のパスを設定(curlも念のため設定)

- /etc/php5/apache/php.ini
- /etc/php5/cli/php.ini
curl.cainfo=/etc/ssl/server.crt
openssl.cafile=/etc/ssl/server.crt
openssl.capath=/etc/ssl/server.crt

phpinfo() でグローバル設定されてるか確認できます。
icon 2016/02/01 IE11のUserAgent変更
IE11のユーザエージェントがMicrosoft Edge用に変更となった。

Internet Explorer 11 開発者向けガイド

Windows 10 の IE11


Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko



64 ビット版 Windows 8.1 Update のデスクトップ用 IE11


Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko



PHPでユーザエージェントで判別


        if (preg_match('/MSIE/', $_SERVER['HTTP_USER_AGENT']) || strpos($_SERVER['HTTP_USER_AGENT'], 'Trident')) {
            //IE
        }
<< 最初 < 前ページ 次ページ > 最後 >>

このサイトについて

HTML5 & CSS3化しつつあるので、現在IEには対応してません。
できれば、Google Chromeやら Apple SafariのWebKit系をお勧めします。

DBからプログラムまで一応全て自作なので、バグってたらすいません。
実験でFlash版(Flex版)を先に作りましたが、ちょっと停止してます。

プロフィール

新宿近辺でSE & プログラマーしてます。
Webアプリの開発・設計とか、最近はiPhoneとか奮闘してます。
デザインはさっぱりです。

音楽は、昔からCubase打ち込み人間で、そっちの方が経歴は長いですが、最近はやる暇がないです。。。

今は、Gon's Privates ってバンドのキーボードやってます。
単発的に、なんちゃってジャズ系のライブもやってます。

名古屋生まれなのでドラゴンズ好きです。

Info && SNS

Gmail

 yohei.yoshikawa@gmail.com

Twitter

 http://twitter.com/yoo_yoo_yoo

あんまつぶやきませんが、一応技術系メインで使ってます。情報交換はこちらへ

FaceBook

 http://www.facebook.com/#!/profile.php?id=1439130626

海外の知り合いがいないので閑散としてます。

mixi

 http://mixi.jp/show_profile.pl?id=230072

音楽仲間とかはこっちメインでやってます。興味があればこちらへ