MySQL.com

PHPとApache2はインストールして使える状態でPHPからMySQLに接続できないと思ったらMySQLへの接続に必要なパッケージがインストールされてませんでした。

 

 

問題

mysqliのインスタンス文以降が消える

試しにmysqlクラスのオブジェクトを作成してMySQLに接続してみようとするとブラウザに真っ白なページが表示された。

<HTML>
<HEAD>
<TITLE>PHP Test</TITLE>
</HEAD>
<BODY>
<?php

$mysqli = new mysqli('localhost', 'root', '***', 'sampledb');

if ($mysqli->connect_error){
	die('Connect Error:('.$mysqli->connect_errno.')'.$mysqli->connect);
}

print 'Connection with mysql class has a succeeded.';

$mysqli->close();

?>


</body>
</html>

MySQLへの接続に失敗したらエラー文を表示するようにしているのにそれすら表示されない。

ページのソースを確認すると mysqli のインスタンスを作成するコード以降が消えていた。

普通のエラーではないので設定を変更する必要があるのか、パッケージが足りてないのかのどちらかと予想。

解決

php-mysql というパッケージをインストールするしたあとApacheを再起動するとPHPでMySQLに接続できた。

$ sudo apt install php-mysql
$ systemctl restart apache2.service

MySQLへの接続程度なら設定ファイル等を書き換えることもなくパッケージをインストールするだけでできるみたい。

最初からWebや書籍を参考にして必要そうなパッケージをまとめてインストールしておくのもいいけど、その機能を利用するのにどのパッケージが必要なのか覚えづらいのでとりあえず手探りで触っていこうと思う。

 

 

【Ubuntu】PHPからMySQLに接続するための設定
Tagged on:         

コメントを残す