タグ

ブックマーク / colo-ri.jp (4)

  • 64ビット版CentOS6にPHPのMcrypt拡張パッケージをインストールする。 | colori

    標準でphp-mcriptパッケージが入ってなかったので、インストールした記録です。 まず、サーバーの環境を確認 まずはサーバーOSがちゃんとCentOS6の64ビット版かどうかを確認します。 32ビット版だと「i386」のほうのパッケージをインストールしないといけませんからね。 # cat /etc/redhat-release CentOS Linux release 6.0 (Final) # uname -a Linux xxx.xxx.xxx 2.6.32-71.el6.x86_64 #1 SMP Fri May 20 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/Linux というわけで、間違いなくCentOS6の64ビット版であることを確認できました。 CentOS6用のEPELをダウンロード&インストール yumコマンドでインストール

  • php4とphp5に対応したTwitter投稿の方法 | colori

    Twitter APIを使ってPHP4とPHP5から投稿する方法を書いてみました。 PHP4ではfopen()を使って投稿する方法がありますが、うまくいかなかった人用のもう一つの方法です。 PHP4ではfile_get_contents()のPOSTメソッドに非対応 最も簡単なTwitter APIでメッセージを投稿する方法は、PHPに標準で実装されているfile_get_contents()メソッドを利用することなんですが、twitterのメッセージ投稿に必要なHTTPリクエストする際のPOSTメソッドやヘッダー情報送出などのコンテキストデータのサポートはPHP5からのため、利用することができません。 5.0.0 コンテキストサポートが追加されました。 その代替方法として、こちらで紹介されているのがfopen()を使った投稿方法です。 しかしPHP4でfopen()を使うとエラーが出る人

  • httpsでfgets()した場合に「SSL: fatal protocol error」が出る | colori

    MicrosoftのIISサーバーとの通信中に「function.fgets: SSL: fatal protocol error …」のエラーメッセージが出る場合があります。 その原因と対策方法について。 IISとの通信中に発生することがある 毎回ではないですが、たまにIISがSSLの標準に準拠せずデータ送信終了してしまうために、PHPはデータの終わりをちゃんと認識することができず、エラーを出してしまいます。 より具体的にはIISは「close_notify」を送らないで終了してしまうのだそうです。 むむ、思わぬ所に地雷が… 「close_notify」とは、データの送信側が「これでデータ終了です」ということを受信側に知らせるために発行するTLSハンドシェイクプロトコルに定義されているAlertプロトコルの一種です。 (参考データ) ちなみに、このエラーはfile_get_content

  • 【決定版】Twitter APIにも使われるOAuth認証のしくみ

    Twitter用の自作BotをPHPで作る際に勉強したんですが、なかなか複雑で理解するのに時間がかかってしまいました。 理解度を確認する意味でも、自作のWebアプリにユーザーのTwitterアカウントを紐付けてTwitter APIを利用するシーンを想定して解説してみようと思います。 「アクセス・トークン(Access Token)」をTwitterから得るのが目標です OAuthによる認証がうまくいくと、Twitterのような既存のサービスで管理されているユーザーアカウントを自分のWebアプリ上とも共有できるようになります。 そのためには、ユーザーごとに「アクセス・トークン(Access Token)」というものをユーザー情報管理サービス側(今回の場合はTwitter)から発行してもらう必要があります。 アクセス・トークンとは何ぞ? アクセス・トークンというのは、Twitterへツイート

  • 1