A, laradock por primera vez, proceso de construcción es muy lento
Debido a que el espejo tirando de contenedor predeterminado en un país extranjero, por lo que antes de contenedores hasta estibador-componer, localizar el texto siguiente en el archivo de .env
CHANGE_SOURCE = false
Entonces falso a verdadero, y localice el siguiente texto
# UBUNTU_SOURCE = aliyun
Frente a la # eliminado, es decir, eliminar el comentario, la imagen por defecto en el extranjero en una fuente interna de la fuente de rápida espejo aliyun
A continuación, el espacio de trabajo de la zona horaria, la zona horaria cambió a China, busque las siguientes palabras
WORKSPACE_TIMEZONE = UTC
UTC cambió la República Popular China
A continuación, ejecute el comando
cargador de muelle de composición del -d hasta nginx MariaDB
Necesidad de comenzar la elección de contenedores
Contraste personalmente construir con el tiempo, bajo ancho de banda 20M no cambia, entonces el reflejo horas de ayuno más lento que el día después del cambio, a sólo 10 minutos
Dos, laradock dado durante la estación de comienzo de la construcción del espacio de trabajo
Si aparece el texto relevante "raw.githubusercontent.com", el dominio de unión a los hosts IP local
Por ejemplo, para Linux
vim / etc / hosts
Enter "199.232.28.133 raw.githubusercontent.com" al archivo
Tres, compositor instalar lenta
Instalación buque worksapce laradock en el almacén de un tercero git TP5 logrado tomada derribado en el marco, el compositor instalar muy lento, las fuentes internas necesitan ser reemplazados, el siguiente comando para ejecutar
compositor config -g repo.packagist compositor https://packagist.phpcomposer.com
Cuatro, compositor ignorar el número de versión instalada
compositor install encontró Sus necesidades no podían resolverse a un conjunto de paquetes instalables. error, puede ignorar el número de versión instalada, ejecute el siguiente comando
compositor instalar --ignore-plataforma-reqs
Cinco, compositor instalar TP5 herramienta de migración de base de datos
herramienta de migración se tp5.0 1. *, tp5.1 es 2. * Si no se especifica el número de versión, la instalación por defecto la herramienta de migración más reciente, ejecute el siguiente comando
compositor requerir topthink / pensar en la emigración = 1. *
Six, laradock cuando se conecta, el nombre de host para relleno TP5 contenedor de base de datos de configuración
MariaDB este uso contenedor I, por lo que la configuración siguiente
'Anfitrión' => 'MariaDB'
Siete, TP5 acceso completo al tiempo de ejecución
chmod -r tiempo de ejecución 777
Ocho, TP5 capturar excepciones lanzadas en MySQL
Excepción de la captura antes de que el parámetro más una barra invertida, mostrando desde el fondo para iniciar la captura de excepción
captura (\ Excepción)
Cuando los Nueve, hacer las interfaces de carga de imágenes, mkdir error sin permiso
Para mayor facilidad de imágenes de referencia, el directorio de almacenamiento de imágenes que designa como públicas / uploads, pero el error puede resolverse dando el pleno acceso público
chmod -r pública 777
Ten, cuando la interfaz de servicios de fondo para verificar permisos
Un muy buen mecanismo de autorización, php OAuth2 cuando hay una biblioteca buena https://github.com/thephpleague/oauth2-server , pero muy mala gana, a diferencia de laravel tener pasaporte, también es compatible con Drupal, cakephp y otros marcos
Uso JSON-web-token bien sólo https://github.com/firebase/php-jwt
XI, procesamiento multidominio
Añadir archivo a ejecutar cuando la aplicación se inicia en tags.php en el directorio de la aplicación, por ejemplo, puse la cruz-dominio en applicationapi archivo / comportamiento / CORS.php, envía una cabecera en la inicialización de la aplicación
// aplicación inicialización 'app_init' => [ 'API App \\ CORS \\ \\ comportamiento' ],
archivo entre dominios
<? php espacio de nombres app \ api \ comportamiento; uso piensan \ Respuesta; clase CORS { pública función AppInit (y $ params ) { header ( 'Access-Control-Allow-Origen: *' ); cabecera ( "Access-Control-Allow-encabezados: token,, Origen solicitada X-Con, Content-Type, Accept" ); cabecera ( "Access-Control-Allow-Métodos: GET, POST" ); si (petición () -> isOptions ()) { salida (); } } }
Doce, git push / necesidad de extracción para la autenticación, introduzca el nombre de usuario y contraseña varias veces
entorno Linux, lleve a cabo en el directorio del repositorio
git config - mundial tienda credential.helper
Trece, git push pegado
Conjunto contrato sin fronteras, la solicitud HTTP de Exchange para configurar un buffer de gran tamaño
git config --global sendpack.sideband falsa git config --global http.postBuffer 524288000
Catorce, nginx no es compatible con el TP5 pathinfo
Cambiar el archivo de configuración del proyecto correspondiente .conf
UBICACIÓN / { try_files $ $ URI URI / / index.php is_args $ $ args; # añadir un poco de ↓↓↓↓↓ SI (- E $ REQUEST_FILENAME) { la reescritura ^ $ /index.php?s=$ (*). . 1 Última ; PAUSA; } # añadir un poco de ↑↑↑↑↑ }
#更改前ubicación ~ \ php $ { ubicación ~ \ {.php try_files $ uri /index.php = 404 ; fastcgi_pass php - aguas arriba; index.php fastcgi_index; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; #添加部分↓↓↓↓ # Set var PATH_INFO fastcgi_split_path_info ^ (+ \ php..) (*. $); fastcgi_param PATH_INFO $ fastcgi_path_info; #添加部分↑↑↑↑ fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; #fixes tiempos de espera fastcgi_read_timeout 600; incluir fastcgi_params; }
Las opciones específicas hasta que encuentre tiempo para aprender acerca
observación
Como todos sabemos, desde github clon ha sido relativamente lenta, se puede optar por el uso de código de nubes, que se utiliza comúnmente en anticipación a la importación de almacén a la propia nube de código de área de trabajo, cuando es necesario el uso de código mediante la clonación de la nube