O Scoop é um sistema de gerenciamento de pacotes para Windows similar ao APT para Linux e BREW para MacOS onde a manutenção do processo de instalação/remoção de aplicativos é feito diretamente no prompt de comando com poucos ou apenas um único comando.

CodeIgniter é um framework PHP para desenvolvimento de aplicativos WEB.

Com o scoop é possível instalar o Apache Web Server junto com uma versão específica do PHP para configurar um ambiente de desenvolvimento.

A instalação do Scoop pode ser feita seguindo essa documentação: https://scoop-docs.vercel.app/

Importante habilitar os buckets php, extras e versions no scoop:

  • scoop bucket add extras
  • scoop bucket add php
  • scoop bucket add versions

Após a instalação os seguintes comandos são utilizados para instalar Apache/PHP:

  • scoop install apache php7.4
  • scoop install sudo
  • iex (new-object net.webclient).downloadstring('https://gist.githubusercontent.com/nilkesede/c98a275b80b6d373131df82eaba96c63/raw/apache-php-init.ps1')
  • sudo httpd -k install -n Apache2.4
  • sudo net start apache

A configuração do PHP através do arquivo php.ini deve ser feita dentro da pasta persist\php7.4 do scoop para que as modificações permaneçam inalteradas após atualizações do PHP.

Por padrão, o apache não  configurou o caminho do php.ini para a pasta persist, então, troque a linha

PHPIniDir "D:\Aplicativos\Scoop\apps\php7.4\current"

por

PHPIniDir "D:\Aplicativos\Scoop\persist\php7.4"

no httpd.conf de acordo com o caminho na sua máquina.

Dicas:

  1. é necessário reiniciar o Windows para receber as alterações  feitas no PATH do sistema durante o processo
  2. qualquer alteração em  httpd.conf ou php.ini, o serviço do apache deve ser reiniciado
  3. para ver algum erro de configuração no php, use o phpinfo e também o comando php -v no prompt
  4. inclua o caminho do php corrente no path do sistema (necessário para a carga das extensões). ex: D:\Aplicativos\Scoop\apps\php7.4\current
  5. carregue a extensão intl (necessária para o CodeIgniter)

Apache

Em httpd.conf da pasta persist, habilite o módulo rewrite e remove o comentário da linha

Include conf/extra/httpd-vhosts.conf

para habilitar a leitura dos hosts virtuais em httpd-hosts.conf da pasta persist.

Adicionar a linha abaixo no http.conf dentro de <IfModule dir_module>

 DirectoryIndex index.php

Exemplo de vhost para um projeto:

<VirtualHost *:80>
ServerAdmin rdconsolo@gmail.com

ErrorLog "D:\Projetos\logs\error_log"
CustomLog "D:\Projetos\logs\access_log" common

Alias "/project-root" "D:\Projetos\project-root\public"
<Directory "D:\Projetos\project-root">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted

RewriteEngine On
RewriteBase /project-root/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</Directory>
</VirtualHost>
Categories: Tutorial