Posts tagged ‘windows7’

27 de agosto de 2010

Problema com session em frame / iframe no Internet Explorer

por adlerparnas

Fala pessoal!

Hoje estou aqui para mostrar uma solução para os problemas com sessões nos  frames/iframes no Internet Explorer versões 6, 7 e 8. Não sou muito adepto aos  elementos  frame e iframe, mas sei que muitas pessoas usam e que são uma ótimo recurso.

Desenvolvendo um projeto no meu trabalho, nossa página seria aberta em  um iframe na  aplicação do cliente. Eis que me aparece o problema, a sessão do usuário em nosso sistema  não era gravada.

Pesquisando pela WEB, descobri no site ASPBRASIL que o problema acontecia por causa de uma diretiva de segurança do Internet Explorer que restringe a gravação de cookies na máquina do usuário. Essa diretiva denominada P3P é descrita pelo W3C.

Seguindo as instruções do site ASPBRASIL, basta alterar a propriedade P3P no cabeçalho do HTTP para que a página consiga gravar os cookies na máquina do cliente. Aqui senha um exemplo em ASP e em PHP de como alterar essa diretiva no cabeçalho HTTP.

<%
Response.AddHeader("P3P", "CP=\"IDC DSP COR CURa ADM ADMa DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT PHY ONL COM STA\"");
%>
<?php
header('P3P: CP="IDC DSP COR CURa ADM ADMa DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT PHY ONL COM STA"');
?>

ATENÇÃO: a diretiva deve ser alterada na página que irá abrir dentro do frame.

Ainda não estudei todas essas diretivas, mais sei que vai funcionar! 😀

É isso ai pessoal! Espero que essa dica seja útil a todos vocês e caso tenha dito algo errado,  favor me corrijam!

Fontes:

Anúncios
26 de julho de 2010

Instalando PEAR no WAMP sobre o windows 7

por adlerparnas

Fala Pessoal!

Meu nome é Adler Parnas e hoje vou falar do da instalação do PEAR no WAMP sobre o Windows 7. Não tenho como objetivo explicar o que é o PEAR nem a instalação do WAMP.

No WAMP 2.0 existe o arquivo C:\wamp\bin\php\php5.3.0\go-pear.bat que é um script para a instalação do PEAR. Entrei no console, fui para a pasta especificada e  executei o arquivo go-pear.bat e encontrei o seguinte erro:


phar "C:\wamp\bin\php\php5.3.0\PEAR\go-pear.phar" does not have a signaturePHP Warning:  require_once(phar://go-pear.phar/index.php): failed to open stream: phar error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in C:\wamp\bin\php\php5.3.0\PEAR\go-pear.phar on line 1236

Warning: require_once(phar://go-pear.phar/index.php): failed to open stream: phar error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in C:\wamp\bin\php\php5.3.0\PEAR\go-pear.phar on line 1236
Pressione qualquer tecla para continuar. . .

C:\wamp\bin\php\php5.3.0>

No meu caso, a pasta de binários do PHP não estava na variável de ambiente PATH do meu usuário, então quando o script era executado ele não reconhecia o comando php.exe.
A solução que tomei foi editar o arquivo go-pear.bat adicionar um comando que levasse o script a pasta de binários do php:

@ECHO OFF
# esta linha foi adicionada
cd C:\wamp\bin\php\php5.3.0
set PHP_BIN=php.exe
%PHP_BIN% -d output_buffering=0 PEAR\go-pear.phar
pause

Quando executei o script pela segunda vez, encontrei o mesmo erro, o que me levou a desconfiar das permissões do meu usuário para executar o script. Então abri o console como administrador e executei o arquivo novamente e tchan!, o mesmo erro aconteceu! Resolvi então copiar e executar o comando que estava no script e ainda sim o mesmo erro ocorria!

Perguntando ao pai dos burros, ele me informou um link para o blog phphints onde existe este comando milagroso:

> cd C:\wamp\bin\php\php5.3.0
> php -d phar.require_hash=0 PEAR/go-pear.phar

Após informar o local onde o PEAR seria instalado, bastou colocar o diretório dos binários do PEAR na variável de ambiente PATH do meu usuário e tudo funcionando.

É isso ai pessoal! Espero que esta dica seja útil a todos os programadores PHP Windows e caso tenha dito algo errado me corrijam!