Skip to content

PHPからGoogle Spreadsheets APIを使う

PHPからGoogle Spreadsheets APIを使う published on PHPからGoogle Spreadsheets APIを使う へのコメントはまだありません

同じことやるの2度目なのに、すっかり忘れてしまっていたので、3度めに備えてメモ。

やりたいこと

(MySQLに入っている)あるデータを、Google Spreadsheets APIを使ってスプレッドシートに書き込む。

使うもの

以下のライブラリを使う。

Continue reading PHPからGoogle Spreadsheets APIを使う

PHPマニュアルの関数リファレンスを隅から隅までざっと読んでみた

PHPマニュアルの関数リファレンスを隅から隅までざっと読んでみた published on PHPマニュアルの関数リファレンスを隅から隅までざっと読んでみた へのコメントはまだありません

知らない関数や機能をなくしたい!

PHPの歴史って長くて、その間に付けたし付けたしでどんどん関数が増えていき、PECLモジュールもかなりの数になっている。

なので、普段PHPをよく使っている人でも、結構知らない関数や機能があったりする。かくいう自分もちょくちょく新しい関数を発見して、その都度「もっと早くに知っていれば」という悔しい思いをしていたんだけど、この度

PHPマニュアルの関数リファレンスを全部読んで、知らない関数や機能を発見しよう!

と思いついたので、実行してみた。

注意事項

以下、筆者が知らなかった、あるいは知っていたけど載せる価値がある、と思ったものを載せているので、読んでいる方にとって自明の事であったり、あるいはここに載っていないけど読んでいる方にとって知らないものとかがあるかもしれない。

と言う事で、善良なPHPerの皆さんは、各自でマニュアルを読み込む事をお勧めする。

Continue reading PHPマニュアルの関数リファレンスを隅から隅までざっと読んでみた

Couldn’t locate driver named mysql

Couldn’t locate driver named mysql published on Couldn’t locate driver named mysql へのコメントはまだありません

新しいサーバー(VPS)にsymfonyを入れている。

schema.ymlを書き換えてsymfony doctrine:insert-sqlを実行したら以下のエラー。

$ symfony doctrine:insert-sql
>> doctrine  creating tables
  Couldn't locate driver named mysql

まぁメッセージの通りドライバーが足りないんだろう。以下のコマンドで確認できる。

php /usr/share/pear/data/symfony/bin/check_configuration.php

結論から言うと、php-mysqlとphp-pdoをインストールすれば解決。

環境:CentOS 5.5

PDO

PDO published on PDO へのコメントはまだありません

■PHPからMySQLにアクセス

最近PHPを使う時はいつもsymfonyを使ってるので、DBに接続したりSQLを投げるコードを直接書くことはなかったんだけど、つい最近、ほんのお遊びプログラムを作る時に、わざわざsymfonyを使うまでもないと思ったので、プレーンなPHPで書くことにした。

普通のPHPを使うのなんて久しぶりなので、最初はmysql_connectとかの昔ながらのやり方をやってたんだけど、それだとさすがに芸がないので他のやり方をすることにした。

■PDO

どうやら調べてみたら、ここ最近ではPDOを使う人が多いみたいなので自分もそうしてみることにした。CodeZineにPDOの記事が載ってたのでそれを見つつやってみる。PDOにしろ何にしろ、そもそも人間の労力を減らすための物なので、そんなに難しいわけがない。

・文字コード

で、次に引っかかったのが定番の文字コード。色々見てると例の

set names utf8

ってのを実行してる例が多かったけど、これって筋が悪いというかあまり美しくないって個人的には思う。で、調べている途中にこんなページが見付かった。

Shift JISの場合、set namesで文字コードを指定しても、PDOが文字コードを意識した作りになってないから(?)、SQLインジェクションが起こる可能性があるらしい。

Continue reading PDO

PHP on IIS

PHP on IIS published on PHP on IIS へのコメントはまだありません

■IIS+PHP(WIMP、WISP)

PHPをIIS上で動かすというのは以前に比べて割と一般的になってきたっぽい。今やっている案件の一つもWISP(Windows、IIS、SQL Server、PHP)構成。

ちょっと調べ物をしていたら、MSのIISのページから「PHP on IIS」なるページへのリンクがある事に気づいた。そこまでポピュラーになってるとは知らなかった。

■ISAPI → FastCGI

知らないついでにもう一つ。PHPはISAPIで動かすものって思ってたけど、今ではFastCGIがサポートされているそうだ。隔世の感がある。

こちらのページではIIS 7.5とPHP 5.3のインストール、設定について書いてある。こちらのページはIIS 7.5とPHP 5.2。それ以外にも色々ページが合った。

Continue reading PHP on IIS

mb_convert_encodingの引数にautoを指定

mb_convert_encodingの引数にautoを指定 published on mb_convert_encodingの引数にautoを指定 へのコメントはまだありません

LimeSurveyを触っていたら以下のようなPHPのNoticeが出た。

Notice: Use of undefined constant auto - assumed 'auto' in C:xampphtdocslimesurveycommon.php on line 4505

autoって定数が定義されていないのか。調べてみたら、該当行ではmb_convert_encoding関数が使われてた。でも、autoって指定すると自動的に文字コードを判別するはずだし、定義されていないはずはないよなぁと思って色々調べたけど、結局以下のように引用符でくくったらエラーが出なくなった。あほらし・・・

auto → "auto"

ちなみに、ほんとに"auto"っていう引数が使えないケースもあるらしく、php.iniの設定を変えたなんていう人もいた()。

phpMyAdminの認証方法

phpMyAdminの認証方法 published on phpMyAdminの認証方法 へのコメントはまだありません

phpMyAdminってレンタルサーバーとかでインストールされているのを使った事しかなかったんだけど、今ちょこちょこ開発を進めているシステムではXAMPPを開発環境にしてるので、初めてphpMyAdminを自分で設定変更可能な環境で使っている。(まぁ基本はXAMPPを入れると勝手にインストールされるんだけど)

最初はrootのパスワードは無しでMySQLを使ってたんだけど、さすがに良くないなと思ってパスワードを設定したら、phpMyAdminで以下のようなエラーを吐いてDBが見られなくなった。

エラー
MySQLのメッセージ: ドキュメント
#1045 - Access denied for user 'root'@'localhost' (using password: NO)
MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください

Continue reading phpMyAdminの認証方法

CentOSのPHPを5.3にアップグレード

CentOSのPHPを5.3にアップグレード published on CentOSのPHPを5.3にアップグレード への4件のコメント

CentOS標準のパッケージではPHP 5.1系しか使えないので、Remiレポジトリを使ってPHP 5.3を入れる。

色んなWebサイトにやり方が書いてあるけど、もっと簡単にできるので、一応メモ書き程度に残す。

■EPELとRemiレポジトリをインストール

$ sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

※2011/2/5追記:本エントリ記載当時はepel-release-5-3.noarch.rpmだったけど、現在は5.4になっている。

上の2つのコマンドだけ。remi-release-5-x.el5.remi.noarchというパッケージを使ったやり方が多いけど、こっちのやり方の方が楽だと思う。

■PHPをアップグレード

$ sudo yum install --enablerepo=remi php

これだけ。関連パッケージもアップグレードされる。

Continue reading CentOSのPHPを5.3にアップグレード

Eclipse + symfony

Eclipse + symfony published on Eclipse + symfony へのコメントはまだありません

PHPでもEclipseを使い始めてしばらく経つけど、デバッガは使ってなかった。今回、symfonyを使って構築中のとあるシステムの開発で、Eclipseを単にエディタとしてだけでなくデバッガも含めたちゃんと統合開発環境として使ってみようと思った。

やることはこんな感じかな。

  1. Eclipse(PHP用)のインストール
  2. XAMPPのインストール
  3. symfonyのインストール
  4. Eclipseのプロジェクトとしてsymfonyのプロジェクトを作成
  5. 4.で作ったプロジェクトが参照できるようにApacheの設定
  6. PHPでデバッガを有効にする
  7. Eclipseの設定

1〜3は情報も沢山あると思うので割愛。

■Eclipseのプロジェクトとしてsymfonyのプロジェクトを作成

まずは普通にEclipseでPHPプロジェクトを作成。ソース用のフォルダを分けるのは個人的な趣味。

Eclipse PHPプロジェクト作成

次に/path/to/workspace-php/foo/applicatioinにsymfonyプロジェクトを作成。

cd c:pathtoworkspace-phpfooapplication
symfony generate:project foo

 

Continue reading Eclipse + symfony

DreamHostでphp.iniをカスタマイズ

DreamHostでphp.iniをカスタマイズ published on DreamHostでphp.iniをカスタマイズ へのコメントはまだありません

DreamHostでは通常FastCGIでPHPが動く。で、php.iniをカスタマイズする方法。
ググったらこのページがヒット。ただし、少し情報が古いっぽい。なので、そこからリンクされてる英語のページを見てその通りにやればOK。(2つあるけど、片方はもう片方にリダイレクトされるので同じもの)
PHP.ini
(もうちょい検索したら、日本語の別のページを発見。でも、これも少し情報が古い。)

Continue reading DreamHostでphp.iniをカスタマイズ