PCRE Unicode Support

Não serão os únicos a encontrar este pequeno contratempo quando estão num ambiente CentOS5 e PHP a usar expressões regulares que contemplem caracteres unicode.

PHP Warning: preg_match(): Compilation failed: support for \P, \p, and \X has not been compiled at offset 2 in wp-content/plugins/dnsyogi/testunicode.php on line 4

Só para despiste, na vossa shell, executem a seguinte instrução

$ pcretest -C
PCRE version 6.6 06-Feb-2006
Compiled with
UTF-8 support
No Unicode properties support
Newline character is LF
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack

Ainda não é possível resolver esta questão com o recurso ao yum pelo que é necessário criar um rpm a partir do source (ou usar algum dos que estão referenciados no tutorial).
Continue reading

Virtual Hosts – MAMP

Para quem recorre ao MAMP como ambiente de desenvolvimento e pretende configurar Virtual Hosts aqui fica um How To em dois passos.

  1. Editar o ficheiro /Applications/MAMP/conf/apache/httpd.conf com um qualquer editor de texto (ex. Vim), acrescentando no final a seguinte entrada:
    NameVirtualHost 127.0.0.1
    <VirtualHost 127.0.0.1>
    	DocumentRoot "/Applications/MAMP/htdocs/site1/"
    	ServerName site1.dev
    </VirtualHost>
    <VirtualHost *>
    	DocumentRoot "/Applications/MAMP/htdocs/"
    	ServerName localhost
    </VirtualHost>
  2. Editar o ficheiro /etc/hosts(na raiz do sistema) com um qualquer editor de texto (ex. Vim), acrescentando a entrada ‘site1’ como abaixo:
    ##
    # Host Database
    #
    # localhost is used to configure the loopback interface
    # when the system is booting.  Do not change this entry.
    ##
    127.0.0.1       localhost site1.dev
    255.255.255.255 broadcasthost
    ::1             localhost
  3. Não há duas sem três: reinicie o MAMP (Stop Servers > Start Servers ou Quit)

Para testar, coloque um ficheiro em /Applications/MAMP/htdocs/site1/ e aceda a www.site1.dev a partir do seu browser.
Senão alterou a porta na qual o MAMP (na verdade o Apache que vem com este) está a servir, então deverá aceder através de www.site1.dev:8888

A escolha do TLD é opcional, tendo optador por .dev para projectos em desenvolvimento.