OSX PHP Homebrew Setup

fork me on github

install php with mysql pgsql intl support

$ brew install php –with-apache –with-mysql –with-pgsql –with-intl

set php timezone in php ini

date.timezone = Europe/Vienna

load php module in apache

in /private/etc/apache2/httpd.conf add

LoadModule php5_module $FULLPATH/libphp5.so

fix pear permissions and config

$ chmod -R ug+w /usr/local/Cellar/php/5.3.10/lib/php
$ pear config-set php_ini /usr/local/etc/php.ini

install mysql default tables

$ unset TMPDIR
$ mysql_install_db –verbose –user=whoami –basedir=”$(brew –prefix mysql)” –datadir=/usr/local/var/mysql –tmpdir=/tmp

set mysql up to start automatically on system boot:

$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/Cellar/mysql/5.5.10/com.mysql.mysqld.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/com.mysql.mysqld.plist

Start mysql:

$ mysql.server start

install xdebug & apc

if you don’t have autoconf (Xcode 4.3) install autoconf

$ brew install autoconf

$ pecl installxdebug apc

xdebug setup

and change

extension=xdebug.so

to

zend_extension=”$fullpath/xdebug.so”
xdebug.remote_enable = On
xdebug.remote_autostart = 1

install pear packages

php q/a tools

$ pear config-set auto_discover 1
$ pear install pear.phpqatools.org/phpqatools pear.netpirates.net/phpDox

this will install:

PHP_Depend, PHP_CodeSniffer, File_Iterator Text_Template, PHP_Timer, YAML, Console_CommandLine, Log, PHP_TokenStream, Base, PHP_PMD, PHP_CodeBrowser, PHP_CodeCoverage, PHPUnit_MockObject, ConsoleTools, PHPUnit, phpcpd, phploc, phpqatools

install phing

$ pear channel-discover pear.phing.info
$ pear config-set preferred_state beta
$ pear install phing/phing
$ pear config-set preferred_state stable

resources

gmail via rss

auf Google Mail kann man auch per RSS zugreifen, was für selten verwendete Accounts sehr praktisch sein kann. Das ganze funktioniert sowohl für Gmail, als auch für Google Apps. Die Authentifizierung erfolgt per Basic Authentication also username:password@yourdomain.
Die URLs sind dann:

Gmail:

https://mail.google.com/mail/feed/atom

Google Apps:

https://mail.google.com/a/yourdomain/feed/atom

Dropbox als mobileMe Ersatz

Über DropBox habe ich ja schon einmal als Ersatz für iDisk geschrieben, aber es lä¤sst sich auch sehr gut zum synchronisieren von Einstellungen wie mobileMe verwenden missbrauchen. Als Beispiel habe ich hier mal LittleSnapper verwendet da ich das gerade sehr oft auf unterschiedlichen Computern verwende und eine Möglichkeit gesucht habe, um auf mehreren Computer eine gemeinsame Datenbank zu haben.
Kurz zur Klärung LittleSnapper ist ein Tool zum erstellen von (Web)Screenshots und bietet die Möglichkeit die Screenshots nachträglich zu sortieren. Des Weiteren besteht die Möglichkeit die Screenshots zu bearbeiten (beschriften, zuschneiden, Pfeile …).

Durch Zufall bin ich neulich auf im DropBox Wiki auf die Seite “How to sync folders (or files) that exist outside the “My Dropbox” folder” gestoßen und dort wird genau das was ich gesucht habe beschrieben. Das funktioniert laut Wiki sowohl für Windows, Mac und Linux. Ich habe es aber nur unter MacOX getestet.

Man erstellt einfach einen symbolischen Link ins DropBox Verzeichnis:

ln -s ~/Library/Application\ Support/LittleSnapper/niepi.lslibrary ~/Dropbox/LittleSnapper/niepi.lslibrary

Das ganze funktioniert auch mit einzelnen Dateien:

ln -s ~/Desktop/wichtige.Datei ~/Dropbox/wichtige.Datei