Comunidad de diseño web y desarrollo en internet

Diferencias al trabajar con PHP en Linux y Windows

Muchos programadores piensan que php es diferente en linux y windows, pues aunque hay sus diferencias no son graves. Hasta que no haces un hard code no notas los problemas reales.

Los errores se deben muchas veces a la diferencia en que los sistemas operativos manejan sus sistema de archivos. Algunas son:

  • El separador de directorios(carpeta) en linux es / y en windows es \.
  • En windows una carpeta llamada unacarpeta es igual a unaCarpeta, es decir, no hay diferencia de minúscula y mayúscula. A diferencia de Windows, en linux las carpetas sí serían diferentes.

Típicas ocasiones cuando se cometen estos errores:

  • Como dije anteriormente, los sistemas de ficheros en linux y windows se manejan diferente. Asi que estas consultas sql (MySQL)en un servidor en windows serian exactamente iguales, no así en linux.

    Código :

    SELECT * FROM `Table`;
    SELECT * FROM `table`;
    

    Ahora piensan :

    "Maikel esta loco" :shock: ¿Qué tiene que ver el sistema de archivos con las sentencias SQL?.

    Pues les comento que MySQL guarda la base de datos y las tablas en carpetas y archivos respectivamente ;) .

    Algunas versiones de phpmyadmin te muestran los nombres de las tablas en minuscula, asi se hayan en escrito con mayuscula en su definición, por lo que tendemos a confundirnos al escribir las sentencias SQL.

  • Cuando estamos tratando de revisar una ruta de un directorio con funciones como strrpos, se debe hacer para ambos sistemas operativos para no tener problemas de portabilidad. Ejemplo:

    Código :

    function dirName ( $dir )
    {
          $dir = realpath( $dir );
          $pos = strrpos( $dir , "\\" ); //Windows
          if ($pos === false)
          {
             $pos = strrpos( $dir ,"/"); //Linux :)
          }
          $dir = substr( $dir,$pos+1,strlen($dir)-$pos );
          return $dir;
    }
    echo dirName(dirname (__FILE__));
    

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate