タグ「macosx」が付けられているもの

MAMPとMacGDBpでPHPスクリプトのデバッグ環境を構築する

  • 投稿日:
  • by
  • カテゴリ:

少し前に「MAMPにMTをインストールする際のメモ」という記事を書きましたが、今回はそこで書き忘れたPHPのデバッグ環境の構築について書いてみたいと思います。

MacGDBpのインストール

PHPスクリプトをリモートデバッグするには MacGDBpという、XdebugのGUIフロントエンドを使用します。ダウンロード、アーカイブ展開後、MacGDBp本体をアプリケーションフォルダにコピーするだけです。

Xdebugのインストール

次にサーバ側にXdebugエクステンションをインストールします。XdebugのバイナリパッケージがActiveStateにありますのでこれを利用します。Komodo Debugger Extensionsから"Komodo 5.1 Remote Debugging Packages"の欄にある"PHP Remote Debugging / Mac OS X"をダウンロードし、展開します。

展開するとPHPのバージョンごとにエクステンションがありますので、MAMPで使用しているPHPのバージョン(MAMP 1.7.2の場合はPHP 5.2.6)にあわせてエクステンション(xdebug.so)を選択し、以下の場所へコピーします。

$ cd 5.2
$ cp xdebug.so /Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20050922

Xdebugの設定

Xdebugを使えるようにするには、/Applications/MAMP/conf/php5/php.iniを編集し、
以下の設定をファイルの最後へ追加します。

[xdebug]
zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20050922/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

また、Zend Optimizerを無効にするため、以下の行の先頭にセミコロンを入れ、コメントにします。

zend_extension_manager.optimizer=/Applications/MAMP/bin/php5/zend/lib/Optimizer-3.3.3

MacGDBpでスクリプトをデバッグする

MacGDBpを起動すると、デバッガ画面が開きます。この状態で、デバッグしたいページをブラウザからアクセスすると、ブラウザ上には何も表示されませんが、MacGDBpでは次のような画面になり、スクリプトの先頭で停止します。

macgdbp_debugger.jpg

画面上部左側では、変数の内容を確認できます。

スクリプトを任意の場所で停止したい場合は、Breakpointsウィンドウを開き、画面下部の「+」をクリックしてスクリプトを指定し、画面上部に表示されたスクリプトから停止させたい箇所の行番号部分をクリックします。

macgdbp_break.jpg

これでPHPスクリプトのデバッグが出来るようになり、ダイナミックパブリッシングに対応したMTプラグインの開発効率が上がるはず(?)です。

MAMPにMTをインストールする際のメモ

  • 投稿日:
  • by
  • カテゴリ:

MT関連の開発にはMAMPに複数のバージョンのMTを同時にインストールして使っていますが、毎回新しいバージョンを入れる度にやり方をすっかり忘れているので、次にインストールする時のためにここにメモしておきます。

  1. MTのアーカイブを展開後、"mt425"等バージョン番号をつけたディレクトリ名にrenameし、DocumentRootへコピーする。
  2. 以下の内容でmt-config.cgiを作成する。
    CGIPath        /mt425/
    StaticWebPath  /mt425/mt-static/
    StaticFilePath /Applications/MAMP/htdocs/mt425/mt-static
    
    ObjectDriver DBI::mysql
    Database mt425
    DBUser root
    DBPassword xxxx
    DBHost localhost
    DBSocket /Applications/MAMP/tmp/mysql/mysql.sock
    
    MailTransfer sendmail
    SendMailPath /usr/sbin/sendmail
    
    MySQLのSoketファイルは/Applications/MAMP/tmp/mysql/mysql.sockにある。mt-config.cgiのDBSocketにはこれを設定する。
  3. バージョン毎のディレクトリ以下で直接cgiが動くよう、DocumentRootに以下の内容の.htaccessが存在するか確認し、なければ作成する。
    Options +ExecCGI
    AddHandler cgi-script .cgi
    
  4. mt-config.cgiで指定したデータベースを作成する。mysql/mysqladminは/Applications/MAMP/Library/binにある。
    > mysqladmin -u root -p create mt425 --default-character-set=utf8
    
  5. mt.cfgにアクセスする。

MAMPを起動しても、Apache/MySQLサーバの状態が「赤」になり、起動しないことがたまにあります。そういう場合は、/Applications/MAMP/bin/apache2/logs/httpd.pidが存在するならそれを削除してみます。MySQLで同様の場合は、/Applications/MAMP/tmp/mysql/mysql.pidを削除してみます。

MacOSX用のアプリケーションを簡単に作るワザ

  • 投稿日:
  • by
  • カテゴリ:

Mac用のアプリケーションは開発するのが難しいとよく言われます。
実際、難しいですし、MacOSXでの開発で使うObjective-Cも非常に変態的個性的で習得の壁も高いような気がします。
しかし、最近では少し事情も変わってきてさくさくっと開発できるようにもなってきています(もちろん、その先には大きな壁が立ちはだかってはいるのですけど)。
今回は、CoreDataというフレームワークを使って、コードを書かずに(一行も!)アプリケーションを作ってみます。
まるで魔法のようにアプリケーションが完成するので、ぜひ、実際に手を動かしてみてください。

LivedoorReaderMenu 1.0 for MacOS X

LivedoorReaderMenu 1.0 for MacOS Xは、MacOS X用のlivedoor Reader - RSSリーダーの通知アプリケーションです。

growl.png

使い方
  • ダウンロードしたLivedoorReaderMenu_1.0.dmgをダブルクリックしてマウントします。
  • LivedoorReaderMenuを適当な場所へコピーします。
  • 最初の起動時に環境設定が開くので livedoor IDを入力するだけです。

prefs.png

必要なもの
  • MacOS X 10.4以上
    • IntelMacで試してませんが一応UniversalBinaryです。
ダウンロード
ライセンス