He llegado a la conclusión de que mi instalación de PHP y mi instalación de MySQL no se llevan bien; Estoy trabajando en crear mi primera página web que usa MySQL para contenido, pero después de dos días, páginas de manual, documentación en línea y docenas de tutoriales, simplemente no puedo hacer que la parte PHP / MySQL funcione. Tengo un servidor web casero establecido (soy el único administrador / usuario) que ejecuta Apache y aloja mis páginas web. Tengo instalado MySQL y pude crear y consultar una base de datos a través de Terminal. Tengo PHP instalado y puedo usar echo para imprimir texto en el documento. Sin embargo, cuando trabajo con MySQL, todo cambia ...
Tengo una página que contiene cosas de inicialización. contiene algunos párrafos de código HTML y luego código PHP para acceder a MySQL. Cuando cargué la página por primera vez, todo lo que resultó fue una página en blanco. Comenté la sección de PHP y la volví a cargar para confirmar que el HTML simple todavía funcionaba, lo que sí funcionó. Por lo tanto, alguna parte de PHP impedía que alguna página se cargara.
Para comenzar a solucionar mi código, dejé todo el código PHP comentado, excepto el siguiente código para la conexión del servidor, que está adaptado de varios tutoriales 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>");
?>
Cuando se carga la página, se carga el HTML inicial además de un párrafo que dice "PHP está funcionando", pero no aparece el mensaje de error o de éxito. Eliminé la estructura If del código, de modo que solo quedaban dos ecos y mysql_connect, y obtuve el mismo resultado.
Parece que la función mysql_connect está causando que el servidor deje de cargar el código cuando se ejecuta, pero no tengo ideas sobre cómo solucionarlo. Para el registro: he modificado el archivo php.ini para incluir la línea "conexión = msql.so", y estoy usando MySQL 5.5, Apache 2.2.22, PHP 5.3.10, Ubuntu 12.04. Además, tanto mi enrutador como mi módem se han configurado para reenviar el puerto 3306 al servidor, aunque no veo cómo debería ser necesario, y mi nombre de usuario y contraseña de MySQL se han verificado tres veces y son idénticos a los que uso con éxito en la terminal.
¿Qué me estoy perdiendo?
php5-mysql
?Respuestas:
Todo se ve bien, así que creo que su instalación no está completa. Para que mysql y php se comuniquen, debe instalar el
php5-mysql
paquete:fuente
Instale el
php5-mysql
paquete y use mysqli_connect en lugar de mysql_connectfuente
Encuentra la versión de Tomcat de
/etc/init.d/
. Debe haber un archivo con el nombre tomcat7, por lo tanto, 7 es la versiónA veces, el reinicio de la máquina ayuda a ordenar otros problemas. Después de reiniciar, no olvides ejecutar:
fuente