Abrir un archivo PHP en un editor externo
Abrir un archivo en el sistema de ventanas del sistema operativo desde un servidor web tiene algunas complicaciones:
Generalmente apache corre usando un usuario especial y como php corre adentro de este, todo proceso disparado desde php se abre utilizando el usuario de Apace (generalmente Local Service en windows o www-data en linux), por lo que es probable que no se tomen las configuraciones del usuario de escritorio.
Apache corre en background como servicio por lo que no es directo hacer que abra un proceso en el sistema de ventanas
Windows
Comando de apertura
Por defecto en la configuración se ejecuta un
start nombre_archivo
y dependiendo de las configuraciones
actuales se abre el editor predeterminado. Es posible personalizar el
comando cambiando la entrada editor_php del archivo
instalacion.ini. Para cambiar la asociación de la extensión php con
el usuario actual es posible cambiarlo en la registry en la entrada
[HKEY_CLASSES_ROOT\php_auto_file\shell\open\command]
"
Configuración del sistema
Para desarrollo el servicio apache necesita interactuar con el usuario de escritorio. Por ello recomendamos seguir los siguentes pasos:
Ir a Inicio => Ejecutar, ingresar services.msc
Seleccionar servicio Apache 2.x, hacer doble click sobre el mismo
Ir a solapa Iniciar Sesión
Seleccionar Permitir a los servicios que interactuen con el sistema
Luego de aceptar, reiniciar el servicio apache.
Configuración Linux
Comando de apertura
Crear un comando abrir_php
sudo editor /usr/bin/abrir_php
Editar el archivo con el siguiente contenido, descomentando la línea apropiada:
export HOME=/home/nombre_usuario; export DISPLAY=:0.0; #En algunos sistemas es necesario ejecutar por unica vez en la consola lo siguiente #xhost + #Descomentar si se usa KDE #kfmclient exec "$1" #Descomentar si se usa gnome #gnome-open "$1" #Descomentar para abrir el editor directamente #/bin/sh "/usr/local/netbeans-6.5/bin/netbeans" --open "$1
Luego de salvar el archivo, darle permisos de ejecución:
sudo chmod +x /usr/bin/abrir_php
Cambiar en el archivo instalacion.ini la entrada editor_php por el nombre del ejecutable que dispara la apertura del archivo, en nuestro caso
/usr/bin/abrir_php
Configuración del sistema
Es necesario configurar que apache ejecute con el usuario actualmente logueado al sistema de ventanas
Editar el archivo
/etc/apache2/apache2.conf
o/etc/apache2/uid.conf
si está presente y cambiar la directivaUser
por el usuario de escritorioPara que apache pueda crear sesiones PHP, hay que cambiar el owner de la carpeta de sesiones (si no encuentra la carpeta de sesiones de php, está en la directiva
session.save_path
en el php.ini):sudo chown mi_usuario /var/lib/php5 -R
Usando Eclipse
Al menos hasta la versión 3.3 de Eclipse no hay forma directa de abrir un archivo por línea de comandos. Para hacer algo similar hay que :
Instalar este plugin
Insertar al comando
wget -q "http://localhost:34567/?command=org.eclipse.soc.ewi.examples.commands.openfile&path=$1"