Foros del Web » Administración de Sistemas » Apache »

Symlinks y Windows

Estas en el tema de Symlinks y Windows en el foro de Apache en Foros del Web. Hola: En mi PC tengo Windows 7 Ultimate como Sistema Operativo. Luego para hacer mis proyectos de PHP, de manera local, tengo la siguiente configuración: ...
  #1 (permalink)  
Antiguo 11/07/2011, 03:35
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 3
Symlinks y Windows

Hola:

En mi PC tengo Windows 7 Ultimate como Sistema Operativo.

Luego para hacer mis proyectos de PHP, de manera local, tengo la siguiente configuración:

Apache Servidor Web Versión 2.2.8
PHP Lenguaje de Scripts Versión 5.2.6
MySQL Base de Datos Versión 5.0.51b
phpMyAdmin, Gestor de Bases de Datos, Versión 3.2.2

En algunos proyectos, uso la función de PHP symlink() que cuando la ejecuto en el servidor final, en Internet, funciona perfectamente. Pero de manera local, en mi PC, me lanza el error siguiente referido a la línea dónde se ejecuta la mencionada función:

Código:
Fatal error: Call to undefined function symlink() in ... line XXX
Al parecer esta función y Windows son incompatibles.
¿No existe aún ninguna solución al respecto, ni siquiera para el último Windows 7?
__________________
Saludos,

zacktagnan.
=================================================
  #2 (permalink)  
Antiguo 11/07/2011, 08:58
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Symlinks y Windows

El problema no está en Windows 7, que si la soporta, sino en la versión de php que estás usando

Historial de cambios

Versión Descripción
5.3.0 Esta función ahora es compatible con las plataformas Windows (Vista, Server 2008 o mayores).


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 17/07/2011, 18:09
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 3
Respuesta: Symlinks y Windows

Gracias por la aclaración.

A ver si en posteriores configuraciones actualizo mi versión de PHP en el PC y a partir de entonces ya no me sale el error comentado.
__________________
Saludos,

zacktagnan.
=================================================
  #4 (permalink)  
Antiguo 18/07/2011, 17:04
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 3
Respuesta: Symlinks y Windows

Cita:
El problema no está en Windows 7, que si la soporta, sino en la versión de php que estás usando

Historial de cambios

Versión Descripción
5.3.0 Esta función ahora es compatible con las plataformas Windows (Vista, Server 2008 o mayores).
Como puse en mi anterior respuesta, estaba convencido de que con actualizar la versión de PHP que tengo instalada de la que tengo ahora (la 5.2.6) a una 5.3.X, resolvería la cuestión.

Pero ahora me ha surgido la duda pues en el servidor remoto dónde está una de las webs programadas por mí, y dónde no se produce el error referido a los symlinks, la versión del PHP es hasta anterior a la mía, concretamente, el PHP es el de la versión 5.2.17, luego ¿por qué funciona en este servidor en una versión anterior a la mía y por supuesto anterior a la 5.3.0?

¿¿Será que lo referido en el comentario citado solamente concierne a los S.O. de Windows, y que en S.O. Linux, la función ya estaba disponible en versiones de PHP anteriores a la de 5.3.0, por lo que se podría deducir que en el servidor remoto de la web tendrían instalado Linux y por eso funciona, aunque sea un PHP 5.2.17??

(Solamente he podido averiguar por variables de servidor que la versión de PHP del servidor remoto es 5.2.17, he querido sacar con otras variables de servidor que versión de Apache y que S.O. funcionan pero deben estar capados de alguna manera pues los datos salen en blanco, igual que si pongo phpinfo()).


Aparte de la última duda planteada,si opto por actualizar mi versión de PHP en mi PC de la 5.2.6 a una 5.3.X o posterior:

- ¿las 5.3.X o posteriores son compatibles con un Apache 2.2.8?
- ¿basta con sustituir la carpeta de PHP actual instalada por la de la nueva versión y luego volver a copiar los .dll de la nueva carpeta en system32 de Windows y el nuevo php.ini a Windows?
__________________
Saludos,

zacktagnan.
=================================================

Última edición por zacktagnan; 18/07/2011 a las 17:13
  #5 (permalink)  
Antiguo 18/07/2011, 17:29
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Symlinks y Windows

zacktagnan:

Con respecto a Symlinks, yo me refería a la incomatibilidad en Windows, en Linux funciona incluso con versiones anteriores de PHP.

Si estás desarrollando en local para despues transferir a remoto, y a su vez manejas diferentes webs, hay que prestar atención a funciones obsoletas o que puedan funcionar o no en los diferentes sistemas operativos.

Es raro ver hostings que tengan la última version de Php ó Apache.
El mismo caso para los módulos, que en muchos casos no están habilitados en el host remoto.

Lamentablemente no hay reglas para todo esto, pasa más por la experiencia personal.
Muchas veces me llegan trabajos de Webs que ya tiene contratado el hosting por un año, asi que no queda otra que adaptarse.

en cuanto al cambio de versión, siempre ha yque revisar los changelogs y/o las guias de instalación, a veces un simple reemplazo de Dlls no basta

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 01/08/2011, 18:48
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 3
Respuesta: Symlinks y Windows

Cita:
A ver si en posteriores configuraciones actualizo mi versión de PHP en el PC y a partir de entonces ya no me sale el error comentado.
Por fin, he instalado nuevas versiones del software y tras configurar todo, y montar un nuevo gestor de web, ya no me da el error del Symlink. Y ejecutándolo de manera local, ya me llega a crear el archivo y sus correspondientes enlaces al archivo original en la carpeta deseada.
Con un PHP de versión 5.3.0 o superior va todo bien, como ya dijo bien emprear.

Versiones actuales:

Apache Servidor Web Versión 2.2.19
PHP Lenguaje de Scripts Versión 5.3.5
MySQL Base de Datos Versión 5.5.14
phpMyAdmin, Gestor de Bases de Datos, Versión 3.4.3.1
__________________
Saludos,

zacktagnan.
=================================================

Etiquetas: php, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:53.