2 votos

PHP no incluir correctamente los archivos desde la actualización a Mojave

En nuestra oficina de Mac, tenemos un local de Apache servidor que ejecuta a través del software AMPPS. Antes de actualizar a Mojave, todo estaba funcionando correctamente. Ahora, después de la actualización, hay un problema con el uso de PHP include o require.

Nuestro sistema utiliza un objeto para almacenar la configuración, y uno de estos es el documento en el directorio root. Este valor generalmente es igual a $_SERVER['DOCUMENT_ROOT'], sin embargo el uso de que no es una opción por varias razones.

Un ejemplo del problema que se está produciendo:

include settings::$documentRoot . '/fileToInclude.php';

Esto se resuelve con el camino de "/Applications/AMPPS/www/fileToInclude.php" y fallará con el estándar de 'no encontrado' error:

Failed to open stream: No such file or directory

Sin embargo, si puedo cambiar el include de la línea a la siguiente:

include $_SERVER['DOCUMENT_ROOT'] . '/fileToInclude.php';

que se resuelve en el camino de "/Applications/AMPPS/www/fileToInclude.php" funcionará sin problema.

Como se puede ver, ambos include declaraciones de resolver exactamente en la misma ruta, pero sólo uno de ellos funciona. He hecho pruebas para confirmar que ambos caminos coincidir exactamente con el uso de una estricta igualdad de verificación (===).

¿Alguien tiene alguna idea de por qué esto iba a suceder en Mojave? Como ya he mencionado, que estaba trabajando perfectamente bien en la Alta Sierra, y funciona bien en todos nuestros equipos de Windows.

EDITAR: Los registros de error del servidor de salida al siguiente cuando intenta utilizar el fallando include.

PHP Warning: include(/Applications\xe2\x81\xa9/AMPPS\xe2\x81\xa9/www/fileToInclude.php): failed to open stream: No such file or directory in /Applications/AMPPS/www/index.php on line 14

1voto

Oskar Puntos 1242

Me gustaría desinfectar los archivos de entrada para los no imprimibles caracteres Unicode. Esto parece ser algo común al cruzar las plataformas o el uso de los editores de código que no se muestran claramente.

Lo que pasa que parece ser diferente manejo de la codificación de texto - la instrucción de registro es ocultar los caracteres que el programa está pasando como un legítimo ruta de acceso en el sistema de ficheros.

Es una suerte que esta trabajado antes en el sistema operativo anterior, pero el error está señalando que no tiene /Aplicaciones\xe2\x81\xa9/AMPPS como una ruta de acceso y el lugar necesita su código web / marco a estar buscando en /Aplicaciones/AMPPS

Sería curioso si todos estos vienen de copiar y pegar desde el cuadro de obtener información y, a continuación, el editor de texto donde los valores están pegando tomar el estilo de texto y no la versión de texto sin formato el contenido del portapapeles.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X