Posts tagged ‘xampp’

PHP accelerator

Yahoo!オークションで複数条件並べ替え

で、YahooのWeb APIを使って自分でオークションの(とりあえずは)並べ替えをやってみようと思ったのだが、
どうしよう?index.phpとか作ってベタで書くかどうしようか悩んだのだが、
フレームワークを使うとformとかリストとかの記述が楽そうなので、なんかしらのPHPフレームワークを使ってみようと思った。
さらに、YahooではSymfonyを使って構築するのが(会社内で)流行りだそうなので、Symfonyを使うことにした。

マニュアルはPDFではあるが、日本語訳があったので、それを見てとりあえずはローカル機(Windows)で動かしてみることにした。
どうせなら最新版を、ということでSymfony1.4を導入することにした。

最初の方で、Symfonyをインストールするための設定チェックの記述があって、

http://sf-to.org/1.4/check.php

にブラウザでアクセスすると、check_configuration.phpが手に入るので、
これをローカルマシンでPHPが動く場所に置いてブラウザからアクセスすると、以下のような結果が出た。

********************************
*                              *
*  symfony requirements check  *
*                              *
********************************

php.ini used by PHP: D:\xampp\xampp\php\php.ini

** Mandatory requirements **

  OK        PHP version is at least 5.2.4 (5.3.1)

** Optional checks **

  OK        PDO is installed
  OK        PDO has some drivers installed: mysql, odbc, sqlite, sqlite2
  OK        PHP-XML module is installed
  OK        XSL module is installed
  OK        The token_get_all() function is available
  OK        The mb_strlen() function is available
  OK        The iconv() function is available
  OK        The utf8_decode() is available
[[WARNING]] A PHP accelerator is installed: FAILED
            *** Install a PHP accelerator like APC (highly recommended) ***
[[WARNING]] php.ini has short_open_tag set to off: FAILED
            *** Set it to off in php.ini ***
  OK        php.ini has magic_quotes_gpc set to off
  OK        php.ini has register_globals set to off
  OK        php.ini has session.auto_start set to off
  OK        PHP version is not 5.2.9

short_open_tagはいいとして、「PHP accelerator」とは一体なんだろう?
調べてみると、

eAccelerator で PHP 高速化

で説明されている通り、PHPの実行速度を体感的に速くするものらしい。全然知らなかった!
そう大した規模でもないので効果はどうなのかはわからないが、XAMPP for Windows(1.7.3)なら、php.iniの以下コメントを外すだけ。(XAMPPはDドライブ直下にある)

;extension=php_apc.dll
;zend_extension = "D:\xampp\xampp\php\ext\php_eaccelerator.dll"

CentOSでも、yumのリポジトリからeAcceleratorはあったようだ。(APCはないみたい)

[root@localhost httpd]# yum search eaccelerator
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
 * centosplus: www.ftp.ne.jp
 * addons: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
====================================== Matched: eaccelerator ======================================
php-eaccelerator.i386 : PHP accelerator, optimizer, encoder and dynamic content cacher

yumで入るならちょっといれてみようかな。


PHP 5.3.0が出たその4

PHP 5.3.0が出たその3の続きです。

PHPがインストール出来たので、MySQLを入れます。最近MySQLの持ち主のSunがOracleに買収されたそうなので、OracleのメインビジネスであるデータベースであるMySQLがどうなるか(お金を取るようになるか)が注目するところですが、日本MySQLユーザ会によると、5.1.36が2009/7/3にがリリースされているのでまだ大丈夫ぽいです。

ところで、現在はLAMPなんて言葉があるように、Linux, Apache, MySQL, PHPはただで高機能が揃えられる代名詞となっています。
ローカルで色々動かすにはなんかのデータベースを入れる必要が出てきますが、MySQLがやはり使いやすい(WordPressもそうですが)ので、動かせるようにしたいと思います。

MySQLを以下サイトからダウンロードします。

http://dev.mysql.com/downloads/mysql/5.1.html#win32

現時点での最新安定版は5.1.36です。
Windows Downloadsから、Windows MSI Installer (x86)を選びダウンロードしたらインストーラを起動します。

今回は、Dドライブにインストールしたかったので、Setup Typeを「Custom」にして、MySQL Serverを

D:\Program Files\MySQL\MySQL Server 5.1\

に、MySQL Server Datafilesを

D:\ProgramData\MySQL\MySQL Server 5.1\

に設定しました。Datafilesは「MySQL Server」の子要素なので、うっかりしてるとデフォルトのCに入ってしまいます。

インストールが始まるとVistaの場合はまず「MySQL AB」というのの実行許可画面が出ますので「許可」を選択、その後MySQL Enterpriseというタイトルの画面が出るので
mysqlenterprise

[Next]を何度か押下するとSetup Wizard画面が出ます。
mysqlsetupwizard

下の「Register the MySQL Server now」は色々面倒なのでチェックを外し、finishボタンを押すと、また「MySQL AB」というのの実行許可画面が出るので許可します。

でなんかとまると思ったら、操作できないほどの小さい画面でConfig画面が出ているようだった。(原因はちょっと不明)
操作できないのでConfig画面はキャンセルして、インストール後に「MySQL Instance Config Wizard」というのがあるのでそれで設定する。
あとは以下のように設定しました。

・Detailed Configration
・Developer Machine
・Multifunctional Database
・InnoDB Tablespace SettingsはInstallation Path
・Decision Support(DSS)/OLAP
・Enable TCP/IP NetworkingとEnable Strict Modeはデフォルトのまま
・Best Support For Multilingualism
・Install As Windows Serviceはチェック(デフォルトのまま)
・Include Bin Directory in Windows PATHはコマンドラインから使うような気がするのでチェック
・Modify Security SettingsでROOTのパスワードを入力

これでExecuteを押せばやっと終わりだ!と思ったのですが、

Cannot create Windows service for MySQL. Error:0

と出て設定出来ない。サービスを見ると、そういや以前にXAMPPを入れたことがあったので、それが残っていた。とりあえずXAMPPをアンインストール。
でも「MySQL」サービスは消えてくれない。
まずはこれを消さないといかん。


Zend Debuggerインストール(xampp編)

xamppなんて便利のものがあるとは知らなかったので、別の環境にZend Debuggerまでインストールしてみる。

環境

・Window Vista Home Premium
・Eclipse 3.3.2 Developper

xamppインストール

http://www.apachefriends.org/jp/xampp-windows.html

から、インストーラー形式(*.msi)の奴をダウンロード・インストールする。Vistaの場合、Program Files以下のフォルダはパーミッションの関係でインストール出来ない場合があるそうなので、自分の場合は「D:xampp」にインストールした。特に問題なし。

Zend Debuggerインストール

前回と違うところは、zend_extension_managerという奴があるかないかである。zend_extension_managerがある場合は、ZendDebugger.dllが入っているフォルダ名をある規則に従ってりネームする必要があるらしい。以下のような感じ。

4_3_x_comp -> php-4.3.x
4_4_x_comp -> php-4.4.x
5_0_x_comp -> php-5.0.x
5_1_x_comp -> php-5.1.x
5_2_x_comp -> php-5.2.x

今回は、「D:\xampp\php\ZendDebugger」というフォルダを作成し、「5_2_x_comp」をコピー、「D:\xampp\php\ZendDebugger\php-5.2.x」と名称を変更した。

で、php.iniに以下記載を追加。

zend_extension_manager.debug_server_ts="C:\xampp\php\ZendDebugger"
zend_debugger.allow_hosts=127.0.0.1/32
zend_debugger.expose_remotely=always

さ、これでphpinfoでZend Debuggerの確認が出来ればOKだと思って「http://localhost/xampp/」のメニューからphpinfoを表示させてみる。アレ?有効になっていない。
コマンドプロンプトから「php –verion」とするとZend Debuggerの表示は出るのに・・・。

phpinfoの「Loaded Configuration File」を見たら、「D:\xampp\apache\bin\php.ini 」となっていて、apacheのフォルダにある方のphp.iniを読んでいるようだったので、そこに前述のZend debuggerの記載を追加したら無事有効になった。