Cheguei à conclusão de que minha instalação do PHP e minha instalação do MySQL não estão se dando bem; Estou trabalhando na criação da minha primeira página da Web que usa o MySQL para conteúdo, mas depois de dois dias, páginas de manual, documentação on-line e dezenas de tutoriais, não consigo fazer com que a parte do PHP / MySQL funcione. Eu tenho um servidor web doméstico estabelecido (eu sou o único administrador / usuário) que executa o Apache e hospeda minhas páginas da web. Eu tenho o MySQL instalado e consegui criar e consultar um banco de dados através do Terminal. Eu tenho o PHP instalado e posso usar o eco para imprimir texto no documento. Quando eu trabalho com o MySQL, no entanto, tudo muda ...
Eu tenho uma página que contém itens de inicialização. contém alguns parágrafos de HTML codificado e, em seguida, código PHP para acessar o MySQL. Quando carreguei a página, tudo o que resultou foi uma página em branco. Comentei a seção PHP e recarreguei para confirmar que o HTML simples ainda funcionava, o que funcionou. Portanto, parte do PHP estava impedindo o carregamento de qualquer página.
Para começar a solucionar problemas do meu código, deixei todo o código PHP comentado, exceto o seguinte código para a conexão do servidor, que é adaptado de vários tutoriais diferentes:
<?
echo("<p>PHP is working</p>");
$ses = mysql_connect("localhost","username","password");
if(!$ses){
echo("<p>Connection to content server failed.</p>");
exit();
}
echo("<p>Database Connected</p>");
?>
Quando a página é carregada, o HTML inicial carrega, além de um parágrafo que lê "PHP está funcionando", mas nem a mensagem de falha ou sucesso aparece. Eu removi a estrutura If do código - para que apenas dois ecos e o mysql_connect permanecessem - e obtivemos o mesmo resultado.
Parece que o recurso mysql_connect está fazendo com que o servidor pare de carregar o código quando ele é executado, mas estou sem ideias de como corrigi-lo. Para constar: modifiquei o arquivo php.ini para incluir a linha "connection = msql.so" e estou usando o MySQL 5.5, Apache 2.2.22, PHP 5.3.10, Ubuntu 12.04. Além disso, meu roteador e modem foram configurados para encaminhar a porta 3306 para o servidor - embora eu não veja como isso seja necessário - e meu nome de usuário e senha do MySQL foram verificados três vezes e são idênticos aos que eu uso com sucesso no terminal.
o que estou perdendo?
php5-mysql
?Respostas:
Tudo parece bom, então acho que sua instalação não está completa. Para que o mysql e o php se comuniquem, você precisa instalar o
php5-mysql
pacote:fonte
Instale o
php5-mysql
pacote e use mysqli_connect em vez de mysql_connectfonte
Encontre a versão do Tomcat em
/etc/init.d/
. Deve haver um arquivo com o nome tomcat7, portanto 7 é a versãoÀs vezes, a reinicialização da máquina ajuda a classificar outros problemas. Após a reinicialização, não se esqueça de executar:
fonte