読者です 読者をやめる 読者になる 読者になる

風柳メモ

ソフトウェア・プログラミング関連の覚書が中心。

mountしたWindows7上のPHPファイルが実行できない?

Linux (CentOS 6.6) で、Windows 7 上のフォルダを mount したとき、Linux 上からそのフォルダ下にある PHP ファイルを実行しようとすると、エラーになってしまう……。 同じフォルダに置いた Python や Ruby 等のスクリプトについては、問題なく実行できる。 …

ダウンロードしつつ逐次処理できるcURL wrapperを試作

PHP

PHPしか使えないような*1レンタルサーバ上で、HTTP GET/POST/HEAD 等の応答をダウンロードしつつ、逐次処理(典型的にはプログレスバー表示)できたら、それなりに使い道があるかも? と思って、試作してみた。 AsyncCurl: ダウンロードしつつ逐次処理を行…

PHPのリファレンス(参照)について、自分なりにかみくだいてみる

php

経緯 最近、PDO で PDOStatement::bindParam を使う処理ではまったため。 bindParam()は、 public bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )…

レンタルサーバでlog4phpを使用するための覚書

php

log4php とは… Apache Logging ServicesプロジェクトのPHP用・高機能なログフレームワーク(ログ出力ツール)。 Apache log4php™ is a versatile logging framework for PHP. Apache log4php - Welcome - Apache log4php 出力先には画面やファイル等を指定でき…

32ビット環境だと2GBを超えるファイルサイズが正常に取れないのか…

PHP

PHP_INT_MAX = 2147483647 = 0x7FFFFFFF となっている環境だと、 注意: PHP の数値型は符号付整数であり、 多くのプラットフォームでは 32 ビットの整数を取るため、 ファイルシステム関数の中には 2GB より大きなファイルについては期待とは違う値を返すも…

PEARのブラウザによるインストールがうまくいかなかったのでgo-pear.phpを修正

修正版のgo-pear.phpのダウンロードはこちらから go-pear.php furyutei/go-pear · GitHub 経緯:レンタルサーバ等のコマンドラインが使えない環境でPEARがうまくインストールできない ホスティング環境での PEARのインストール方法に従って、go-pearをgo-pea…

【覚書】PHPアプリにPOSTする際には入力変数の制限に注意

PHP

サーバ側の設定にもよるみたいですが、入力変数(ペイロード中のパラメータp=0&p=1&...)が一定数を超えると制限がかかるんですね。 常識なのかもしれないのですが、知らなかったのでしばらくはまっていました。 max_input_vars integer 入力変数 を最大で何…

TwitterアイコンURL取得APIのエンドポイントが変わりました

結構利用している人がいるらしい 久しぶりに Google App Engine の管理者画面を見てみたら、http://gadgtwit.appspot.com/twicon/〜のアクセスがかなりあって、結構なリソースを食っていたため、さくらインターネットのレンタルサーバに API のエンドポイン…

【覚書】PHPの戻り値を変数を介さずにアクセスする

PHP

PHP 5.3.3 の場合 function foo() { return array(1,2,3); } $a = foo(); echo $a[1]; // 2 のように、一旦関数の戻り値を変数に格納してからアクセスしないといけなくて、 echo foo()[1]; // PHP Parse error: syntax error, unexpected '[', expecting ','…

PHPは難しい…配列にキーが存在するかはisset()じゃ厳密には判らないのね

PHP

これも今更な話なのだが、いままでPHPである連想配列$fooに'bar'というキーが存在するかを調べるのに、 if (isset($foo['bar'])) { // キーが存在した場合の処理 } とやっていたんだけれど、厳密にはこれじゃだめだったんだね…。 説明 bool isset ( mixed $v…

MDB2で接続しなおしたときだけ、通らなくなるクエリがあって悩んだ

PHP上でMDB2を使用してMySQLにアクセスしているとき、あるタイミングでだけ、通らなくなるクエリ(プリペアドステートメント)が出てきて原因がわからず、ほぼ半日無駄にしてしまった。 ■追記 MDB2: 2.5.0b5 (beta) MDB2_Driver_mysql: 1.5.0b4 (beta) を入…