Mariadb 連線測試

  1. 建立一個 mariadb 連線測試的 index.php 檔,mariadb 主機是 172.17.0.2:3306,用戶 root,密碼是建立容器時設定的密碼 123qwe,如果連線成功輸出 'Connected successfully'。
    [root@dyw219 ~]# vim index.php 
    [root@dyw219 ~]# cat index.php 
    <?php
    $dbhost = '172.17.0.2:3306';
    $dbuser = 'root';
    $dbpass = '123qwe';
    echo "Hello PHP\n";
    //phpinfo();
    $conn = mysqli_connect($dbhost, $dbuser, $dbpass) or die(mysql_error().PHP_EOL);
    echo "Connected successfully\n";
    mysqli_close($conn);
    ?>
    
  2. docker cp 將測試網頁複製到容器 webphp1 的網頁根目錄 /var/www/html。
    [root@dyw219 ~]# docker cp index.php webphp1:/var/www/html/
    
  3. curl 存取網頁,輸出正確,表示連線成功。
    [root@dyw219 ~]# curl -s http://127.0.0.1:32777/
    Hello PHP
    Connected successfully
    
  4. 將 index.php 的密碼 改成 1123qwe。
    [root@dyw219 ~]# vim error.php
    [root@dyw219 ~]# cat error.php
    <?php
    $dbhost = '172.17.0.2:3306';
    $dbuser = 'root';
    $dbpass = '1123qwe';
    echo "Hello PHP\n";
    //phpinfo();
    $conn = mysqli_connect($dbhost, $dbuser, $dbpass) or die(mysql_error().PHP_EOL);
    echo "Connected successfully\n";
    mysqli_close($conn);
    ?>
    
  5. docker cp 將測試網頁 error.php 複製到容器 webphp1 的網頁根目錄 /var/www/html。
    [root@dyw219 ~]# docker cp error.php webphp1:/var/www/html/
    
  6. curl 存取網頁,輸出無法連線的錯誤訊息。
    [root@dyw219 ~]# curl -s http://127.0.0.1:32777/error.php
    Hello PHP
    <br />
    <font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
    <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; 
    font-size: x-large;'>( ! )</span> Warning: mysqli_connect(): (HY000/1045): Access denied for user 
    'root'@'172.17.0.4' (using password: YES) in /var/www/html/error.php on line <i>7</i></th></tr>
    .....
    </table></font>