PEAR en Mac OS Lion.

Pear es un comando que sirve para instalar paquetes de php. Así se activa en Mac OS Lion:

1
2
sudo php /usr/lib/php/install-pear-nozlib.phar
sudo pear upgrade pear

Y en php.ini:

1
include_path = ".:/php/includes:/usr/lib/php/pear"

Luego para instalar algún paquete (PHPUnit, por ejemplo):

1
2
3
4
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear install phpunit/PHPUnit

Incluir cakephp como un submodulo de GIT.

1. Crear una nueva instalación de cake (cake 2.0 edge en este caso):

1
2
3
4
cd /path/to/project/repo
git clone git://github.com/cakephp/cakephp.git server
cd server
git checkout origin/2.0

2. Borrar la carpeta y el repositorio de cake y agregarlos de nuevo como sudmodulo:

1
2
3
4
5
6
7
8
rm -rf lib
rm -rf .git
rm .gitignore
git commit -m "Estructura de directorios para la nueva app basada en cake 2.0"
cd ..
git submodule add git://github.com/cakephp/cakephp.git server/cake20
cd server/cake20
git checkout origin/2.0

3. Configure cake para que entienda la nueva estructura de directorios.

1
2
3
cd server/cake20
rm -rf app
ln -s ../app ./app

Cambie esta línea en app/webroot/index.php y en /app/webroot/test.php:

1
define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'cake20' . DS . 'lib');

4. Listo! Guarde sus cambios:

1
git commit -m "Configuración base de cakephp"

5. Ñapa: Un .gitignore mas sensible:

1
2
3
4
5
6
7
8
9
server/app/tmp
!server/app/tmp/cache/models/empty
!server/app/tmp/cache/persistent/empty
!server/app/tmp/cache/views/empty
!server/app/tmp/logs/empty
!server/app/tmp/sessions/empty
!server/app/tmp/tests/empty
server/app/Config/database.php
server/app/Config/passwords.php

6. Para después clonar el repo y que todo funcione:

1
2
3
4
5
6
7
cd /path/to/project
git clone http://url/del/repo.git repo
cd repo
git submodule init
git submodule update
cd server/cake2.0
ln -s ./app ../app

Como Instalar Herramientas Para Depurar y Perfilar Código PHP.

Recientemente tuve la necesidad de optimizar el consumo de CPU de un sitio web construido con Drupal y desplegado sobre un stack LAMP. Para esto necesité configurar mi servidor de desarrollo para que soportara depuración y perfilación de scripts PHP. Hasta ese momento había usado MAMP como mi servidor de desarrollo pero no me gustaba el hecho de no conocer los detalles de su instalación. Tomé esto como oportunidad de hacer una instalación y configuración manual de mi servidor local. Estas son las instrucciones para replicar la instalación.
Continue reading