The upgrade to OS X 10.7 was relatively painless. That is, until I starting doing some more local web development. Here’s the list of problems I found — and solutions — with the hopes that it’ll help others.
PHP
- The config files in
/etc/apache/changed a bit, with the result being I couldn’t get mod_rewrite to work. The solution seemed to be to restore everything from/etc/apache/original/*.conf, then tweak as required for local fixes. Also, be sure to uncomment the PHP module lines fromhttpd.conf. /etc/php.inidoesn’t exist. Your previousphp.iniis now/etc/php.ini-5.2-previousor something similar. Again, copy that file back, or use the/etc/php.ini.defaultand adjust accordingly
MySQL
- I took advantage of this downtime to also upgrade MySQL, using the official packages at http://dev.mysql.com/downloads/mysql/ (hint: use the Mac OS X ver. 10.6 (x86, 64-bit), DMG Archive file). Before you do, either dump all your existing databases so you can reimport them after, or be prepared to move the contents of
/usr/local/mysql-5.1.52-osx10.6-x86_64/datato/usr/local/mysql-5.5.19-osx10.6-x86_64/data(or whatever your old and the current versions are) and chown/chmod them accordingly. - Also, at some point along the line, the config option skip-locking was renamed to skip-external-locking, so change that in
/etc/my.cf. Also, it seems InnoDB isn’t even included, so the line skip-innodb needs to be commented out (if you have it). Check/usr/local/mysql/data/hostname.errfor other problems if you can’t get the server to start.
PEAR & PECL
- I had these installed in
/usr/local/lib/php, but it seems the “right way” is to put them in/usr/lib/php/pear. Also, any PECL extensions will need to be recompiled for the new version of PHP - The instructions at http://akrabat.com/php/setting-up-php-mysql-on-os-x-10-7-lion/ are pretty helpful
- Note that you’ll need Xcode installed to compile PECL extensions. Go to the App Store for it, and brew yourself a tea while you wait for the download to complete.
Those seem to be all the “gotchas” … for now at least.