phpのcurl(35) Unknown SSL protocol error in connectionの対処法
cURLは、さまざまなプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供するプロジェクトです。
PHPをcURLサポート機能付きでコンパイルすると、curl 関数を使用可能となります。
今回は、決済モジュールへのリクエストが必要になり、エラーで躓いたので、エラーの対処方法をメモしておきます。
正しいSSLプロトコルを設定
curl_setopt($curl, CURLOPT_SSLVERSION, 3);
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1); or curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2); //(Added in 7.34.0)
デフォルトでは PHPが自動的に判断しますが、これを手動で設定する必要がある場合もあるようです。
※追記(2014/10/19) POODLE SSLv3.0 脆弱性問題対応のためSSLv3ではなく、TLSでアクセスするように修正
暗号のリストの設定
curl_setopt($curl, CURLOPT_SSL_CIPHER_LIST, 'rsa_rc4_128_sha');
SSLでは、クライアントがサポートしている暗号アルゴリズムのリストをサーバーに提示し、サーバーが適当なものを選ぶ仕組みになっています。したがって、相手さえまともなら、128ビットRC4や、256ビットAESなど、より強いアルゴリズムが選ばれるので問題はないはずなのですが。Webサーバーによっては暗号のリストの設定をしないとうまくいかないこともあるようです。
暗号アルゴリズムが解らない場合は、SSLのページで、右クリック・メニューから「ページの情報を表示」を選ぶと、使用されている暗号アルゴリズムを確認できます。以下のコマンドでも確認することができます。
暗号リスト確認コマンド
$ curl https://<対象サイト> --sslv3 --head --ciphers rsa_rc4_128_sha
$ curl https://<対象サイト> --tlsv1 --head --ciphers rsa_rc4_128_sha
※追記(2014/10/19) POODLE SSLv3.0 脆弱性問題対応のためSSLv3ではなく、TLSでアクセスするように修正
PHPでUUID生成 - PECLでUUID拡張モジュールのインストール
UUID (Universally Unique Identifier) とは (1)誰でも自由に生成できる (2)世界中でただ一つのユニークな番号 のことです。
UUIDはユニークな値であることを前提に使えるため、様々な用途で使用されています。
PHPでUUID(Universally Unique Identifier)を生成するにはいくつか方法があるのですが、今回はPECL(PHP拡張モジュール)のuuid拡張モジュールをインストールしてUUIDを取得できるようにしてみました。
インストールをメモしておきます。
1.PECLでUUID拡張モジュールのインストール
# pecl install uuid
以下のようなエラーが出てしまった場合
# checking uuid/uuid.h usability... no # checking uuid/uuid.h presence... no # checking for uuid/uuid.h... no # configure: error: 'uuid/uuid.h' header not found # ERROR: `/var/tmp/uuid/configure --with-uuid' failed
libuuidをインストールすれば解決します。
# yum -y install libuuid-devel
2.php.iniにモジュールを追加
extension=uuid.so
3.Apacheの再起動
# /etc/rc.d/init.d/httpd restart
実行例
<?php echo uuid_create(UUID_TYPE_RANDOM); ?> ●実行結果 95c889f7-8644-4848-9114-7eecba3f3354
先月読んだ本 2014.3
先月読んだ本です。
- 作者: ケン・シーガル
- 出版社/メーカー: NHK出版
- 発売日: 2012/07/31
- メディア: Kindle版
- 購入: 4人 クリック: 5回
- この商品を含むブログを見る
- 作者: 坂本孝
- 出版社/メーカー: 商業界
- 発売日: 2013/05/17
- メディア: Kindle版
- この商品を含むブログ (5件) を見る
サイトのスクリーンショットを撮る「wkhtmltopdf」
サイトのスクリーンショットを撮る必要があったので「wkhtmltopdf」を使用することにしました。インストール・コマンドをメモしておきます。
Linux64-Bit版へのインストール
# cd /usr/local/src # wget http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.0/wkhtmltox-linux-amd64_0.12.0-03c001d.tar.xz # tar -Jxvf wkhtmltox-linux-amd64_0.12.0-03c001d.tar.xz # cp wkhtmltox/bin/wkhtmltoimage /usr/local/bin/
コマンド
# wkhtmltoimage http://google.com google.jpg
画質の指定
# wkhtmltoimage --quality 50 http://google.com google.jpg
幅・高さの指定
# wkhtmltoimage --height 800 --width 1280 http://google.com google.jpg
先月読んだ本 2014.2
先月読んだ本です。
何かいろんなことが言われていますが、Google Glass発売されたら買おうかな。本書にも書かれていますが、ウェアラブルはスポーツと相性がいいんですよね。何かアプリ作りたいな。
ウルトラマラソンマン 46時間ノンストップで320kmを走り抜いた男の記録
- 作者: ディーン・カーナゼス
- 出版社/メーカー: ディスカヴァー・トゥエンティワン
- 発売日: 2012/11/02
- メディア: Kindle版
- この商品を含むブログを見る
PROZZA -プロッツァ-ミレット(miletto)の修理対応
プロッツァの電動バイクミレットに乗っているのですがよく壊れます。購入して9ヵ月で今回の修理で5回目です。2ヵ月で1回のペースでどこか故障します...
電動バイクは普通のバイク店で修理してもらえないので、まずは販売元のプロッツァに電話して修理をお願いすることになります。
今回はまだ3000キロくらいしか走ってないのにブレーキパッドがすり減ってしまったようで修理をお願いしたのですが。
自分:「ブレーキの効き悪いので修理をお願いします。」
プロッツァ:「ブレーキのアジャスターで調節してみて下さい。」
自分:(ええ...バイクに詳しくない人でもアジャスターいじらないといけないの?)
自分:「ブレーキはもうきつくてブレーキパッドがすり減っているようでロックがかかる感じなんですが...」
プロッツァ:「では修理店をご紹介します。」
自分:(ではって...)
自分:「保証期間内なので、プロッツァさん経由で修理ではないんですか?」
プロッツァ:「ブレーキパッドは消耗品ですので保証外になります。」
自分:「バイクの専門家ではないので本当にブレーキパッドが悪いのかはわからないのですが...」
プロッツァ:「ブレーキパッド以外の故障だった場合はお電話ください。」
プロッツァの電動バイクミレットはこういう対応のようです。この対応は違うような気がします。
ブレーキ周りの修理は2回目だし、ブレーキ周りの性能が悪いみたいです。突然ブレーキが効かなくなりそうで怖いです。保証が切れて乗るのは危険ですね。
おおらかにいこう。
先月読んだ本 2014.1
先月読んだ本です。
決定版 ハーバード流“NO”と言わせない交渉術 (知的生きかた文庫)
- 作者: ウィリアムユーリー,William L. Ury,斎藤精一郎
- 出版社/メーカー: 三笠書房
- 発売日: 1995/05
- メディア: 文庫
- 購入: 8人 クリック: 32回
- この商品を含むブログ (11件) を見る
交渉は難しい。
日本の大企業の時代は終わりかけていますね。日本のために復活してほしいという思いもあるんですが、新しい企業が出てくるほうがいいんでしょうね。