{"id":3358,"date":"2021-06-22T16:30:49","date_gmt":"2021-06-22T19:30:49","guid":{"rendered":"http:\/\/tiagofick-site.test:30000\/?p=3358"},"modified":"2023-01-18T18:43:31","modified_gmt":"2023-01-18T21:43:31","slug":"ambiente-com-php-wordpress-laravel-laradock","status":"publish","type":"post","link":"https:\/\/tiagofick.com.br\/site\/ambiente-com-php-wordpress-laravel-laradock\/","title":{"rendered":"Ambiente DEV com Laradock"},"content":{"rendered":"\n<p class=\"has-cyan-bluish-gray-color has-text-color has-small-font-size\"><strong>Certa vez precisei subir um ambiente para um projeto Laravel e para fins did\u00e1ticos, decidi utilizar o Laradock. Tendo em vista as facilidades do mesmo, fui um pouco mais a fundo e percebi que poderia torn\u00e1-lo meu ambiente default, n\u00e3o somente para projetos com Laravel.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p class=\"has-normal-font-size\"><strong>Instalando o PHP 8.0.6<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fa\u00e7a o download do PHP 8 em formato zip na&nbsp;<strong><em><a href=\"https:\/\/windows.php.net\/download\/\">P\u00e1gina de Downloads do PHP<\/a><\/em><\/strong>.<\/li>\n\n\n\n<li>Busque pela vers\u00e3o NTS e de acordo com a arquitetura do seu OS (x86\/x64).<\/li>\n\n\n\n<li>Utilize a vers\u00e3o Non Thread Safe, que segundo a&nbsp;<strong><em><a href=\"https:\/\/www.php.net\/manual\/pt_BR\/install.windows.manual.php\">documenta\u00e7\u00e3o oficial<\/a><\/em><\/strong>&nbsp;\u00e9 recomendada para uso em linha de comando e servidores web onde apenas uma thread \u00e9 utilizada.<\/li>\n\n\n\n<li>Vers\u00f5es Thread Safe s\u00e3o para quando o PHP for instalado como um m\u00f3dulo do Apache e utilizado para execu\u00e7\u00e3o de Threads concorrentes.<\/li>\n\n\n\n<li>Descompacte o arquivo zip em uma nova pasta, de prefer\u00eancia, de f\u00e1cil acesso para melhor usabilidade como&nbsp;<strong>c:\\php<\/strong>, por exemplo (para esse tutorial eu utilizei&nbsp;<strong>C:\\php8.0.6<\/strong>).<\/li>\n\n\n\n<li>Agora no Windows, v\u00e1 at\u00e9:\n<ul class=\"wp-block-list\">\n<li><strong>Painel de Controle &gt; Sistema e Seguran\u00e7a &gt; Sistema &gt; Configura\u00e7\u00f5es Avan\u00e7adas do Sistema &gt; Vari\u00e1veis de Ambiente<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Nas se\u00e7\u00e3o de&nbsp;<strong>Vari\u00e1veis do Sistema<\/strong>&nbsp;Adicione ao path do Windows a pasta criada para o PHP<\/li>\n\n\n\n<li>Feito isso, abra um terminal e digite&nbsp;<em>php -v<\/em>&nbsp;para verificar se est\u00e1 acessivel e funcionando, dever\u00e1 exibir algo tipo:<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-background has-small-font-size\" style=\"color:#666666;background-color:#eeeeee\"><strong><em>PHP 8.0.6 (cli) (built: May 4 2021 23:31:41) ( NTS Visual C++ 2019 x64 )<br>Copyright (c) The PHP Group<br>Zend Engine v4.0.6, Copyright (c) Zend Technologies<\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dentro da pasta criada haver\u00e1 um arquivo chamado php.ini-development fa\u00e7a uma c\u00f3pia e renomeie, ou apenas renomeie o mesmo para php.ini e:\n<ul class=\"wp-block-list\">\n<li>Linha 768: extension_dir =&gt; descomente (retire o &#8220;;&#8221; do in\u00edcio da linha) e informe em qual pasta se encontram as extens\u00f5es do php. No caso do zip, j\u00e1 est\u00e3o inclusas as extend\u00f5es dentro de uma pasta chamada&nbsp;<em><strong>&#8220;ext&#8221;<\/strong><\/em>, apenas certifique-se de que a mesma foi descompactada<\/li>\n\n\n\n<li>Nas linhas 920 a 956, temos as extens\u00f5es a serem habilitadas, para o nosso caso, vamos habilitar apenas as mais comuns e necess\u00e1rias para a nossa instala\u00e7\u00e3o, fique a vontade se necessitar habilitar mais alguma, al\u00e9m das citadas:\n<ul class=\"wp-block-list\">\n<li>extension=curl<\/li>\n\n\n\n<li>extension=fileinfo<\/li>\n\n\n\n<li>extension=gd<\/li>\n\n\n\n<li>extension=gettext<\/li>\n\n\n\n<li>extension=intl<\/li>\n\n\n\n<li>extension=mbstring<\/li>\n\n\n\n<li>extension=mysqli<\/li>\n\n\n\n<li>extension=odbc<\/li>\n\n\n\n<li>extension=openssl<\/li>\n\n\n\n<li>extension=pdo_mysql<\/li>\n\n\n\n<li>extension=pdo_odbc<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"has-normal-font-size\"><strong>Instalando o Composer<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Primeiramente fa\u00e7a o download do composer em&nbsp;<em><strong><a href=\"https:\/\/getcomposer.org\/download\/\">Download Composer Setup<\/a><\/strong><\/em><\/li>\n\n\n\n<li>Siga os passos e insira os dados que o setup de instala\u00e7\u00e3o lhe solicitar em cada etapa<\/li>\n\n\n\n<li>N\u00e3o vou entrar em maiores detalhes aqui, pois a instala\u00e7\u00e3o do composer segue o famoso&nbsp;<em>&#8220;next, next, next&#8221;<\/em>&nbsp;do windows<\/li>\n\n\n\n<li>E PRONTO! Na verdade a instala\u00e7\u00e3o do composer \u00e9 a parte mais f\u00e1cil da instala\u00e7\u00e3o do ambiente<\/li>\n<\/ul>\n\n\n\n<p class=\"has-normal-font-size\"><strong>Instalando o Laradock<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-background has-small-font-size\" style=\"color:#666666;background-color:#eeeeee\"><strong><em>Antes de continuar, reserve um tempo para ler a documenta\u00e7\u00e3o oficial do Laradock, pois diferentes estruturas de pastas, podem exigir diferentes configura\u00e7\u00f5es.<\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A minha estrutura de diret\u00f3rios, est\u00e1 da seguinte maneira:\n<ul class=\"wp-block-list\">\n<li>www\/\n<ul class=\"wp-block-list\">\n<li>Projetos\/\n<ul class=\"wp-block-list\">\n<li>projeto-1\/<\/li>\n\n\n\n<li>projeto-2\/<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Ent\u00e3o vamos at\u00e9 o site oficial em&nbsp;<em><strong><a href=\"https:\/\/laradock.io\/\">laradock.io<\/a><\/strong><\/em><\/li>\n\n\n\n<li>Vamos clonar o laradock em uma pasta dentro da pasta <em>Projetos<\/em><\/li>\n\n\n\n<li>Crie uma pasta dentro de Projetos chamada &#8220;_laradock&#8221;<\/li>\n\n\n\n<li>Via terminal, v\u00e1 at\u00e9 a pasta que criamos e clone o Laradock dentro dela com:\n<ul class=\"wp-block-list\">\n<li>git clone https:\/\/github.com\/laradock\/laradock.git _laradock\/<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>A estrutura de diret\u00f3rios ficar\u00e1 da seguinte maneira:\n<ul class=\"wp-block-list\">\n<li>www\/\n<ul class=\"wp-block-list\">\n<li>Projetos\/\n<ul class=\"wp-block-list\">\n<li>_laradock\/<\/li>\n\n\n\n<li>projeto-1\/<\/li>\n\n\n\n<li>projeto-2\/<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"has-normal-font-size\"><strong>Configurando o WEB Server<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Precisamos configurar nossos projetos para que o WEB Server fa\u00e7a a leitura correta das pastas<\/li>\n\n\n\n<li>Dentro da pasta _<em>laradock\/nginx\/sites<\/em>, existem dois arquivos chamados:\n<ul class=\"wp-block-list\">\n<li><strong>app.conf.example<\/strong><\/li>\n\n\n\n<li><strong>laravel.conf.example<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Fa\u00e7a uma c\u00f3pia dos dois arquivos, renomeando-os para&nbsp;<strong>projeto-1.conf<\/strong>&nbsp;e&nbsp;<strong>projeto-2.conf<\/strong>&nbsp;respectivamente<\/li>\n\n\n\n<li>Em projeto-1.conf, configure o&nbsp;<strong>server_name<\/strong>&nbsp;para&nbsp;<strong>projeto-1.test<\/strong>&nbsp;e o&nbsp;<strong>root<\/strong>&nbsp;para&nbsp;<strong>\/var\/www\/projeto-1<\/strong><\/li>\n\n\n\n<li>Em projeto-2.conf, configure o&nbsp;<strong>server_name<\/strong>&nbsp;para&nbsp;<strong>projeto-2.test<\/strong>&nbsp;e o&nbsp;<strong>root<\/strong>&nbsp;para&nbsp;<strong>\/var\/www\/projeto-2\/public<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-background has-small-font-size\" style=\"color:#666666;background-color:#eeeeee\"><strong><em>Observe que no projeto-2 temos&nbsp;public&nbsp;no root path,&nbsp;isso porque public&nbsp;\u00e9&nbsp;o ponto\/pasta de partida do framework Laravel<\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Abra com o notepad o&nbsp;arquivo <strong>hosts<\/strong>&nbsp;(em C:\\Windows\\System32\\drivers\\etc) e adicione linhas (tanto faz onde, eu costumo adicionar no final do arquivo por quest\u00f5es minhas de organiza\u00e7\u00e3o):\n<ul class=\"wp-block-list\">\n<li>127.0.0.1 project-1.test<\/li>\n\n\n\n<li>127.0.0.1 project-2.test<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"has-normal-font-size\"><strong>Configurando os <strong>Cont\u00eaineres<\/strong><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Instale o Docker Desktop&nbsp;<a href=\"https:\/\/www.docker.com\/products\/docker-desktop\">Download Docker Desktop<\/a><\/li>\n\n\n\n<li>Na instala\u00e7\u00e3o ser\u00e1 dada a op\u00e7\u00e3o de selecionar entre containers Windows ou Linux. No nosso exemplo estaremos utilizando a op\u00e7\u00e3o Linux<\/li>\n\n\n\n<li>Fa\u00e7a um cadastro criando um&nbsp;<em>Docker ID<\/em>, pois \u00e9 bastante \u00fatil. Caso voc\u00ea crie\/personalize algum container, poder\u00e1 envi\u00e1-lo para a nuvem e deix\u00e1-lo dispon\u00edvel para futuras instala\u00e7\u00f5es. Caso formate a m\u00e1quina ou necessite do mesmo ambiente em outro computador, poupar\u00e1 tempo.<\/li>\n\n\n\n<li>Terminada a instala\u00e7\u00e3o, ser\u00e1 solicitado para reiniciar o sistema, mas antes de reiniciar o sistema, v\u00e1 at\u00e9 a tela de&nbsp;<strong><em>Recursos do Windows<\/em><\/strong>&nbsp;abrindo o menu iniciar e digitando&nbsp;<em>&#8220;Ativar ou desativar recursos do Windows&#8221;<\/em><\/li>\n\n\n\n<li>Habilite (marque) a op\u00e7\u00e3o&nbsp;<em>Hyper-V<\/em><\/li>\n\n\n\n<li>Reinicie o computador e quando retornar, abra um terminal e digite&nbsp;<em>docker &#8211;version<\/em>, que dever\u00e1 exibir algo como:<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-background has-small-font-size\" style=\"color:#666666;background-color:#eeeeee\"><em><strong>Docker version 20.10.6, build 370c289<\/strong><\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>V\u00e1 at\u00e9 a pasta onde foi clonado o laradock (<em>&#8220;_lardock&#8221;<\/em>&nbsp;no nosso exemplo)<\/li>\n\n\n\n<li>Fa\u00e7a uma c\u00f3pia do arquivo&nbsp;<em>.env.example<\/em>&nbsp;e renomeie para&nbsp;<em>.env<\/em><\/li>\n\n\n\n<li>Abra o arquivo&nbsp;e busque\/altere as seguintes configura\u00e7\u00f5es:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>  ### NGINX #################################################\n  \n  NGINX_HOST_HTTP_PORT=30000\n  NGINX_HOST_HTTPS_PORT=443\n  NGINX_HOST_LOG_PATH=.\/logs\/nginx\/\n  NGINX_SITES_PATH=.\/nginx\/sites\/\n  NGINX_PHP_UPSTREAM_CONTAINER=php-fpm\n  NGINX_PHP_UPSTREAM_PORT=9000\n  NGINX_SSL_PATH=.\/nginx\/ssl\/<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>  ### MYSQL #################################################\n  MYSQL_VERSION=latest  \n  MYSQL_DATABASE=nomedobancodedados\n  MYSQL_USER=meuusuario\n  MYSQL_PASSWORD=minhasenha\n  MYSQL_PORT=30001\n  MYSQL_ROOT_PASSWORD=minhasenharoot\n  MYSQL_ENTRYPOINT_INITDB=.\/mysql\/docker-entrypoint-initdb.d<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>  ### PHP MY ADMIN ##########################################\n  \n  # Accepted values: mariadb - mysql\n  \n  PMA_DB_ENGINE=mysql\n  \n  # Credentials\/Port:\n  \n  PMA_USER=meuusuario\n  PMA_PASSWORD=minhasenha\n  PMA_ROOT_PASSWORD=minhasenharoot\n  PMA_PORT=30002\n  PMA_MAX_EXECUTION_TIME=600\n  PMA_MEMORY_LIMIT=256M\n  PMA_UPLOAD_LIMIT=2G<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>  ### WORKSPACE #############################################\n  .\n  .\n  .\n  WORKSPACE_SSH_PORT=30003<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>  ### PHP Version ###########################################\n  \n  # Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM).\n  # Accepted values: 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6\n  PHP_VERSION=7.3<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-small-font-size\">Acima,&nbsp;altere o valor de PHP_VERSION para 8.0 e,&nbsp;via terminal,&nbsp;v\u00e1&nbsp;at\u00e9&nbsp;a pasta do laradock e rode os seguintes comandos:<\/p>\n\n\n\n<p class=\"has-text-color has-background has-small-font-size\" style=\"color:#666666;background-color:#eeeeee\"><strong><em>docker-compose build php-fpm<br>e<br>docker-compose build workspace<\/em><\/strong><\/p>\n\n\n\n<p class=\"has-small-font-size\">Vamos revisar as configura\u00e7\u00f5es do NGINX. Temos ent\u00e3o, 3 arquivos com as seguintes configura\u00e7\u00f5es:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>  Pasta _laradock\/nginx\/site        \n      default.conf\n          server_name localhost;\n          root \/var\/www;\n          index index.php index.html index.htm;\n\n      projeto-1.conf\n          server_name projeto-1.test;\n          root \/var\/www\/projeto-1;\n          index index.php index.html index.htm;\n\n      projeto-2.conf\n          server_name projeto-2.test;\n          root \/var\/www\/projeto-2\/public;\n          index index.php index.html index.htm;<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agora vamos contruir nossas aplica\u00e7\u00f5es, lembrando que o projeto-1 = wordpress e o projeto-2 = laravel\n<ul class=\"wp-block-list\">\n<li>Dentro de <em>Projetos<\/em>, coloquei um arquivo com o phpinfo() para verificar as config&#8217;s iniciais do php<\/li>\n\n\n\n<li>projeto-1\n<ul class=\"wp-block-list\">\n<li>Acesse o site do&nbsp;<strong><em><a href=\"https:\/\/br.wordpress.org\/download\/\">WordPress<\/a><\/em><\/strong>&nbsp;e fa\u00e7a o download<\/li>\n\n\n\n<li>Descompacte o WP dentro da pasta&nbsp;<em>projeto-1<\/em>&nbsp;e est\u00e1 pronto<\/li>\n\n\n\n<li>Acesse o link projeto-1.test:30000<\/li>\n\n\n\n<li>O mesmo ir\u00e1 exibir a tela inicial de configura\u00e7\u00f5es do wordpress<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>projeto-2\n<ul class=\"wp-block-list\">\n<li>V\u00e1 at\u00e9 um terminal, acesse a pasta _<em>laradock<\/em>&nbsp;e pare os containers executando o comando&nbsp;<em>docker-compose down<\/em><\/li>\n\n\n\n<li>Volte um n\u00edvel, acessando assim, a pasta&nbsp;<em>projetos<\/em>&nbsp;e ainda pelo terminal instale o laravel dentro de&nbsp;<em>projeto-2\/<\/em>&nbsp;com o seguinte comando:\n<ul class=\"wp-block-list\">\n<li><em>composer create-project laravel\/laravel projeto-2\/<\/em><\/li>\n\n\n\n<li>Caso exiba algum erro:\n<ul class=\"wp-block-list\">\n<li>verifique se a pasta est\u00e1 vazia<\/li>\n\n\n\n<li>se o usu\u00e1rio possui acesso a ela<\/li>\n\n\n\n<li>e se a mesma possui permiss\u00e3o de grava\u00e7\u00e3o<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Realizadas todas as configura\u00e7\u00f5es, vamos rodar o nosso bom e velho docker-compose:\n<ul class=\"wp-block-list\">\n<li>Pelo terminal, navegue at\u00e9 a pasta _<em>laradock<\/em><\/li>\n\n\n\n<li>digite <em>docker-compose up -d nginx mysql phpmyadmin redis workspace<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-background has-small-font-size\" style=\"color:#666666;background-color:#eeeeee\"><em><strong>OBSERVA\u00c7\u00c3O IMPORTANTE:<br>Ao iniciar os containers com o docker-compose,&nbsp;n\u00e3o esque\u00e7a de especificar quais containers voc\u00ea&nbsp;deseja utilizar,&nbsp;pois o laradock possui v\u00e1rios servi\u00e7os que podem ser utilizados como,&nbsp;por exemplo:&nbsp;mssql, postgres, casandra, mongo, apache.<br>Caso n\u00e3o especifique, o docker tentar\u00e1&nbsp;iniciar todos eles,&nbsp;pois n\u00e3o foi especificado qual voc\u00ea&nbsp;deseja.<\/strong><\/em><\/p>\n\n\n\n<p class=\"has-small-font-size\">Depois que o docker &#8220;subir&#8221; todos os containers desejados, voc\u00ea pode acessar suas aplica\u00e7\u00f5es atrav\u00e9s de:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em><a href=\"http:\/\/localhost:30000\/phpinfo.php\">http:\/\/localhost:30000\/phpinfo.php<\/a><\/em><\/strong>&nbsp;=&gt; Ir\u00e1 exibir os dados da instala\u00e7\u00e3o do php em nosso container<\/li>\n\n\n\n<li><strong><em><a href=\"http:\/\/projeto-1.test:30000\">http:\/\/projeto-1.test:30000<\/a><\/em><\/strong>&nbsp;=&gt; No primeiro acesso ir\u00e1 exibir a tela inicial de confgura\u00e7\u00e3o do WP<\/li>\n\n\n\n<li><strong><em><a href=\"http:\/\/projeto-2.test:30000\">http:\/\/projeto-2.test:30000<\/a><\/em><\/strong>&nbsp;=&gt; Exibir\u00e1 a tela de boas-vindas do Laravel<\/li>\n\n\n\n<li><strong><em><a href=\"http:\/\/localhost:30002\/\">http:\/\/localhost:30002\/<\/a><\/em><\/strong>&nbsp;=&gt; PHPMYADMIN<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-background has-small-font-size\" style=\"color:#666666;background-color:#eeeeee\"><em><strong>O MySQL utiliza a porta 30001, para acess\u00e1-lo com sua IDE preferida, utilize as informa\u00e7\u00f5es de conex\u00e3o do arquivo .env ou utilize o PHPMyAdmin, conforme citado acima<\/strong><\/em><\/p>\n\n\n\n<p class=\"has-normal-font-size\"><strong>Conclus\u00e3o<\/strong><\/p>\n\n\n\n<p class=\"has-small-font-size\">Temos ent\u00e3o o nosso ambiente PHP utilizando menos recursos de hardware e padronizado. Ok,&nbsp;mas afinal,&nbsp;por qu\u00ea?&nbsp;<br>Por dois reais motivos:&nbsp;Primeiro,&nbsp;como falei inicialmente,&nbsp;para fins did\u00e1ticos.&nbsp;Quando se inicia em alguma empresa normalmente a estrutura de ambiente j\u00e1&nbsp;existe,&nbsp;ent\u00e3o a utiliza\u00e7\u00e3o do&nbsp;docker acaba se resumindo em dois ou tr\u00eas comandos para iniciar\/finalizar\/reiniciar o ambiente. Por conta pr\u00f3pria, resolvi estudar na pr\u00e1tica mais sobre o assunto e escrever esse tutorial.<br>O segundo motivo,&nbsp;\u00e9&nbsp;que houve um caso em que eu trabalhava com dois projetos diferentes, mas ambos possuiam ambientes docker distintos.&nbsp;Isso acabou gerando conflitos&nbsp;(no meu caso,&nbsp;conflito&nbsp;com portas que j\u00e1&nbsp;estavam em uso).&nbsp;<br>Para resolver o problema,&nbsp;tive a id\u00e9ia de reunir todas as funcionalidades necess\u00e1rias para o meu desenvolvimento em apenas um ambiente.&nbsp;Dessa maneira eu possuo apenas uma inst\u00e2ncia de cada servi\u00e7o&nbsp;(WEB Server,&nbsp;banco,&nbsp;etc&#8230;), economizando recursos de hardware e padronizando o ambiente.<\/p>\n\n\n\n<p class=\"has-normal-font-size\"><strong>Refer\u00eancias<\/strong><\/p>\n\n\n\n<p class=\"has-small-font-size\"><a href=\"https:\/\/www.php.net\/\">https:\/\/www.php.net\/<\/a><br><a href=\"https:\/\/laradock.io\/\">https:\/\/laradock.io\/<\/a><br><a href=\"https:\/\/cyrildewit.github.io\/2020\/04\/19\/how-to-change-the-PHP-version-in-Laradock\/\">https:\/\/cyrildewit.github.io\/2020\/04\/19\/how-to-change-the-PHP-version-in-Laradock\/<\/a><br><a href=\"https:\/\/br.wordpress.org\/\">https:\/\/br.wordpress.org\/<\/a><a href=\"https:\/\/laravel.com\/docs\/8.x\">https:\/\/laravel.com\/docs\/8.x<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Certa vez precisei subir um ambiente para um projeto Laravel e para fins did\u00e1ticos, decidi utilizar o Laradock. Tendo em vista as facilidades do mesmo, fui um pouco mais a&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":3402,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[6,7,8,9,10,11,12,13],"class_list":["post-3358","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ambientes-de-desenvolvimento","tag-ambiente","tag-desenvolvimento","tag-laradock","tag-laravel","tag-mysql","tag-nginx","tag-php","tag-wordpress"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/tiagofick.com.br\/site\/wp-json\/wp\/v2\/posts\/3358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tiagofick.com.br\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tiagofick.com.br\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tiagofick.com.br\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tiagofick.com.br\/site\/wp-json\/wp\/v2\/comments?post=3358"}],"version-history":[{"count":3,"href":"https:\/\/tiagofick.com.br\/site\/wp-json\/wp\/v2\/posts\/3358\/revisions"}],"predecessor-version":[{"id":3476,"href":"https:\/\/tiagofick.com.br\/site\/wp-json\/wp\/v2\/posts\/3358\/revisions\/3476"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tiagofick.com.br\/site\/wp-json\/wp\/v2\/media\/3402"}],"wp:attachment":[{"href":"https:\/\/tiagofick.com.br\/site\/wp-json\/wp\/v2\/media?parent=3358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiagofick.com.br\/site\/wp-json\/wp\/v2\/categories?post=3358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiagofick.com.br\/site\/wp-json\/wp\/v2\/tags?post=3358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}