Quer começar seus estudos com Simfony2 no mac osX.
Vamos lá:
Baixe a última versão do Xcode disponível e compatível com sua versão do OSX.
Baixe um gerenciador de pacotes ports-like.
Tem o MacPorts e o HomeBrew , escolha um deles, eu prefiro e uso o MacPorts.
uso: port install ...
O mac osx já traz no seu php uma versão do pear pronta p/ instalar :
1 habilite o pear
Localize ond está o pear e as libs do php
$php -i | grep include_path
$php -i | grep include_path
include_path => .:/php/includes/:/usr/lib/php/pear => .:/php/includes/:/usr/lib/php/pear
Vá na pasta /usr/lib/php e execute o arquivo install-pear-nozlib.phar
$php install-pear-nozlib.phar
agora vc tem o utilitário pecl .
2 se não tiver o composer baixe e instale :
Baixe e coloque junto com os binários de acesso comum
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer$ curl -sS https://getcomposer.org/installer | php
3 - Baixe o esquema do simfony pelo composer
Veja em http://symfony.com/doc/current/quick_tour/the_big_picture.html
Seguindo os tour, e fazendo o 1º projeto , talvez o simfony reclame de algumas dependências
1 - TimeZone
2 - intl
3 - Optimizador de Cache
Resolvendo
1 - Timezone
Abra o arquivo /etc/php.ini e .defina o seu timezone.
date.timezone =America/Sao_Paulo
$sudo pecl update-channels
$sudo pecl install intl
se reclamar :
configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
$sudo port -v install icu
$sudo port -v install pcre
Se deu certo você verá
Build process completed successfully
Installing '/usr/lib/php/extensions/no-debug-non-zts-20100525/intl.so'
about to commit 1215 file operations for intl
successfully committed 1215 file operations
install ok: channel://pecl.php.net/intl-3.0.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=intl.so" to php.ini
Adicione essa opção no php.ini
Marios-Mac-Pro:php surfer$ sudo vi /etc/php.ini
e por volta da linha 862 adicione
extension=intl.so
extension=intl.so
Confira se habilitou
$ php -i | grep intl
intl
intl.default_locale => no value => no value
intl.error_level => 0 => 0
intl.use_exceptions => 0 => 0
3 - Instale o APC
$sudo pecl install apc
se você tiver esse erro :
In file included from /private/tmp/pear/temp/APC/apc.c:45:
/usr/include/php/ext/pcre/php_pcre.h:29:10: fatal error: 'pcre.h' file not found
#include "pcre.h"
^
1 error generated.
make: *** [apc.lo] Error 1
rolling back 211 file operations
ERROR: `make' failed
Talvez precise fazer 2 coisas:
1 - Baixe o command line tools mais atual da versão do seu Xcode no site da apple
Eu vi vários comentários absurdos na internet, inclusive em fóruns respeitados pela comunidade.
Não vi ninguém procurar esse arquivo local.
O pacote está procurando a lib pcre.h no lugar errado. Veja os diretórios de Include -I ( -I. -I/private/tmp/pear/temp/APC -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-rootH9ph8q/APC-3.1.13/include -I/private/tmp/pear/temp/pear-build-rootH9ph8q/APC-3.1.13/main -I/private/tmp/pear/temp/APC -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/li)
Procurando local : obs: se você já fez alguma instalação pelo ports, esse arquivo já existe em sua maquina , e as dependências também.
Não vi ninguém procurar esse arquivo local.
O pacote está procurando a lib pcre.h no lugar errado. Veja os diretórios de Include -I ( -I. -I/private/tmp/pear/temp/APC -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-rootH9ph8q/APC-3.1.13/include -I/private/tmp/pear/temp/pear-build-rootH9ph8q/APC-3.1.13/main -I/private/tmp/pear/temp/APC -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/li)
Procurando local : obs: se você já fez alguma instalação pelo ports, esse arquivo já existe em sua maquina , e as dependências também.
$ sudo find / -name "pcre.h"
/opt/local/include/pcre.h .
Resolvendo o problema da compilação :
Vá no diretório /usr/include/ e adicione os alias p/ as libpcre* q estão no diretório encontrado.
Marios-Mac-Pro:include surfer$ pwd
/usr/include
$sudo ln -s /opt/local/include/pcre* .
Confira se criou
Marios-Mac-Pro:include surfer$ ls -laoh | grep pcre
lrwxr-xr-x 1 root 25B Sep 21 00:55 pcre.h -> /opt/local/include/pcre.h
lrwxr-xr-x 1 root 33B Sep 21 00:55 pcre_scanner.h -> /opt/local/include/pcre_scanner.h
lrwxr-xr-x 1 root 37B Sep 21 00:55 pcre_stringpiece.h -> /opt/local/include/pcre_stringpiece.h
lrwxr-xr-x 1 root 28B Sep 21 00:55 pcrecpp.h -> /opt/local/include/pcrecpp.h
lrwxr-xr-x 1 root 31B Sep 21 00:55 pcrecpparg.h -> /opt/local/include/pcrecpparg.h
lrwxr-xr-x 1 root 30B Sep 21 00:55 pcreposix.h -> /opt/local/include/pcreposix.h
Chame a instalação do apc de novo:
$sudo pecl install apc
Se não souber o q são as perguntas (opções do cache), apenas pressione enter até continuar compilando
e... se deu tudo certo você verá:
Build process completed successfully
Installing '/usr/include/php/ext/apc/apc_serializer.h'
+ create dir /usr/include/php/ext/apc
Installing '/usr/lib/php/extensions/no-debug-non-zts-20100525/apc.so'
about to commit 213 file operations for APC
successfully committed 213 file operations
install ok: channel://pecl.php.net/APC-3.1.13
configuration option "php_ini" is not set to php.ini location
You should add "extension=apc.so" to php.ini
Adicione essa opção no php.ini
Marios-Mac-Pro:php surfer$ sudo vi /etc/php.ini
Marios-Mac-Pro:php surfer$ sudo vi /etc/php.ini
e adicione por volta da linha 863
extension=apc.so
extension=apc.so
Confira se habilitou :
$ php -i | grep apc
.....
Se deu tudo certo. ao rodar o check pós criação do projeto, você deve receber essa mensagem:
Marios-Mac-Pro:simfony surfer$ cd simfony/
Marios-Mac-Pro:simfony surfer$ php app/check.php
Symfony2 Requirements Checker
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> PHP is using the following php.ini file:
/etc/php.ini
> Checking Symfony requirements:
......................................
[OK]
Your system is ready to run Symfony2 projects
Veja o esquema de demonstração da aplicação criada:
Veja o esquema de demonstração da aplicação criada:
Marios-Mac-Pro:simfony surfer$ php app/console server:run
Server running on http://127.0.0.1:8000
Acesse pelo navegador
OBS: Fiz o processo paralelo em um debian, meu ambiente de dev, e a sequência, foi a mesma,
apenas instalando o pacote libpcre3-dev (p/ compilar o apc), e adicionando as extensões nos 2 php.ini (cli e apache)
obtive o mesmo resultado com as seguintes recomendações que ficam p/ outro post:
[OK]
Your system is ready to run Symfony2 projects
Optional recommendations to improve your setup
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* When using the logout handler from the Symfony Security Component,
you should have at least PHP 5.4.11 due to PHP bug #63379 (as a
workaround, you can also set invalidate_session to false in the
security logout handler configuration)
> Install PHP 5.4.11 or newer if your project uses the logout
> handler from the Symfony Security Component.
* You should use PHP 5.3.18+ or PHP 5.4.8+ to always get nice error
messages for fatal errors in the development environment due to PHP
bug #61767/#60909
> Install PHP 5.3.18+ or PHP 5.4.8+ if you want nice error messages
> for all fatal errors in the development environment.
* short_open_tag should be disabled in php.ini
> Set short_open_tag to off in php.ini*.
Bons estudos. Qualquer dúvida, poste aqui.
Até a próxima
Nenhum comentário:
Postar um comentário