代码改变世界
[登录 · 注册]
  • shell传参给php,并接收php的返回结果
  • shell

    #!/bin/bash
    host=${DB_HOST}
    dbname=${DB_NAME}
    user=${DB_USER}
    pwd=${DB_PWD}
    # 只能通过单字母传参数
    create_res=`php ${cur_dir}/init/createdb.php -h $host -u $user -p $pwd -d $dbname`
    if [[ "$create_res" = 1 ]]; 
    then
        Echo_Green "create database $dbname ok."
    else 
        Echo_Red "create database $dbname fail."    
    fi
    

    php

    <?php
    header("Content-Type: text/html;charset=utf-8");
    error_reporting(E_ALL | E_STRICT);
    
    $param_arr = getopt('h:u:p:d:');
    
    $host     = $param_arr['h'] ?: '127.0.0.1';
    $user     = $param_arr['u'];
    $pwd      = $param_arr['p'];
    $dbname   = $param_arr['d'];
    
    if (!$user || !$pwd || !$dbname) {
        echo 2;
        return;
    }
    
    // 创建数据库
    try {
        $conn = new PDO("mysql:host=$host", $user, $pwd);
        // 设置 PDO 错误模式为异常 
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql = "CREATE DATABASE IF NOT EXISTS " . $dbname . " DEFAULT CHARSET utf8 COLLATE utf8_general_ci;";
        // 使用 exec() ,因为没有结果返回 
        $conn->exec($sql);
        echo 1;
        $conn = null;
        return;
    } catch (PDOException $e) {
        // echo $sql . "<br>" . $e->getMessage();
        echo 0;
        $conn = null;
        return;
    }
    
  • 【推广】 阿里云小站-上云优惠聚集地(新老客户同享)更有每天限时秒杀!
    【推广】 云服务器低至0.95折 1核2G ECS云服务器8.1元/月
    【推广】 阿里云老用户升级四重礼遇享6.5折限时折扣!
  • 原文:https://www.cnblogs.com/jiqing9006/p/13085040.html
走看看 - 开发者的网上家园