zoukankan      html  css  js  c++  java
  • php

    centos6.5-x64

    yum install httpd php php-pdo

    这样才有对sqlite3的支持,不安装php-pdo,就没有相应的支持。

     https://hello.firefox.com/DWtXIEzWRes

    PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用,无法运行于之前的PHP版本。

    从版本 4.3.0 开始,PHp提供了一种新类型的 SAPI(Server Application Programming Interface,服务端应用编程端口)支持,名为 CLI,意为 Command Line Interface,即命令行接口。顾名思义,该 SAPI 模块主要用作 PHp的开发外壳应用。CLI SAPI和其它 SAPI模块相比有很多的不同之处,我们将在本章中详细阐述。值得一提的是,CLI和 CGI 是不同的 SAPI,尽管它们之间有很多共同的行为。

    CLI SAPI 最先是随 PHp4.2.0 版本发布的,但仍旧只是一个实验性的版本,并需要在运行 ./configure 时加上 --enable-cli参数。从 PHp4.3.0 版本开始,CLI SAPI 成为了正式模块,--enable-cli参数会被默认得设置为 on,也可以用参数 --disable-cli来屏蔽。

    从 PHp4.3.0开始,CLI/CGI 二进制执行文件的文件名、位置和是否存在会根据 PHp在系统上的安装而不同。在默认情况下,当运行 make 时,CGI 和 CLI 都会被编译并且分别放置在 PHp源文件目录的 sapi/cgi/php 和 sapi/cli/php 下。可以注意到两个文件都被命名为了 php。在 make install的过程中会发生什么取决于配置行。如果在配置的时候选择了一个 SAPI 模块,如 apxs,或者使用了 --disable-cgi参数,则在 make install 的过程中,CLI 将被拷贝到 {pFIX}/bin/php,除非 CGI 已经被放置在了那个位置。因此,例如,如果在配置行中有 --with--apxs,则在 make install 的过程中,CLI 将被拷贝到 {pFIX}/bin/php。如果希望撤销 CGI 执行文件的安装,请在 make install之后运行 make install-cli。或者,也可以在配置行中加上 --disable-cgi参数。

    开发环境
    windows开发环境
    http://www.zend.com/en/products/studio  zend studio IDE
    http://help.eclipse.org/mars/index.jsp
    xampp

    linux开发环境

    php测试页面

    [root@84-monitor php]# cat /var/www/html/aa.php
    <?php phpinfo();?>

    php工具

    [root@222-comecs tes]# php -v
    PHP 5.3.3 (cli) (built: Aug  6 2014 05:54:27)
    Copyright (c) 1997-2010 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    
    相当于phpinfo页面
    [root@222-comecs tes]# php -i
    
    [root@222-comecs tes]# php -m
    [PHP Modules]
    bz2
    calendar
    Core
    ctype
    curl
    libxml
    mbstring
    oci8
    openssl
    pcntl
    pcre
    PDO
    zip
    zlib
    
    [Zend Modules]
    
    [root@222-comecs tes]# php --ini
    Configuration File (php.ini) Path: /etc
    Loaded Configuration File:         /etc/php.ini
    Scan for additional .ini files in: /etc/php.d
    Additional .ini files parsed:      /etc/php.d/curl.ini,
    /etc/php.d/dom.ini,
    /etc/php.d/fileinfo.ini,
    /etc/php.d/gd.ini,
    /etc/php.d/imap.ini,
    /etc/php.d/json.ini,
    /etc/php.d/mbstring.ini,
    /etc/php.d/oci8.ini,
    /etc/php.d/pdo.ini,
    /etc/php.d/pdo_sqlite.ini,
    /etc/php.d/phar.ini,
    /etc/php.d/posix.ini,
    /etc/php.d/snmp.ini,
    /etc/php.d/soap.ini,
    /etc/php.d/sqlite3.ini,
    /etc/php.d/sysvmsg.ini,
    /etc/php.d/sysvsem.ini,
    /etc/php.d/sysvshm.ini,
    /etc/php.d/wddx.ini,
    /etc/php.d/xmlreader.ini,
    /etc/php.d/xmlrpc.ini,
    /etc/php.d/xmlwriter.ini,
    /etc/php.d/xsl.ini,
    /etc/php.d/zip.ini
    php command line usage
    
    
    三种方法执行php代码
    php scripts
    php -r 'print_r(get_defined_constants());'
    
    
    15:59:53 9 /var/www/html:#cat c.php
    <?php
    if(defined('STDIN') )
      echo("Running from CLI");
    else
      echo("Not Running from CLI");
    ?>
    15:59:56 10 /var/www/html:#php c.php
    Running from CLI
    16:00:03 11 /var/www/html:#
    
    
    16:02:03 12 /var/www/html:#cat c.php
    <?php
    echo "Are you sure you want to do this?  Type 'yes' to continue: ";
    $handle = fopen ("php://stdin","r");
    $line = fgets($handle);
    if(trim($line) != 'yes'){
        echo "ABORTING!
    ";
        exit;
    }
    echo "
    ";
    echo "Thank you, continuing...
    ";
    ?>
    16:02:16 13 /var/www/html:#php c.php
    Are you sure you want to do this?  Type 'yes' to continue: yes
    
    Thank you, continuing...
    
    16:02:26 14 /var/www/html:#
    
    
    16:15:52 23 /var/www/html:#cat c.php
    <?php
    // Our simple test application named test.php
    echo getcwd(), "
    ";
    ?>
    16:15:58 24 /var/www/html:#php c.php
    /var/www/html
    
    
    16:23:27 30 /var/www/html:#php -r 'var_dump($argv);'
    array(1) {
      [0]=>
      string(1) "-"
    }
    16:24:59 32 /var/www/html:#php -r 'var_dump($argv);' -- -h
    array(2) {
      [0]=>
      string(1) "-"
      [1]=>
      string(2) "-h"
    }
    16:24:39 31 /var/www/html:#php -r 'var_dump($argc);'
    int(1)
    16:24:59 32 /var/www/html:#
    16:25:59 33 /var/www/html:#php -r 'print_r(get_defined_constants());'
    Array
    (
        [E_ERROR] => 1
        [E_RECOVERABLE_ERROR] => 4096
        [E_WARNING] => 2
        [E_PARSE] => 4
        [STDIN] => Resource id #1
        [STDOUT] => Resource id #2
        [STDERR] => Resource id #3
    )
    
    16:33:37 41 /var/www/html:#php -r 'fwrite(STDERR, "stderr
    ");'
    stderr

    php通过oci8查询oracle数据库内容,并在页面上展示出来

    <?php
    $conn = oci_connect('flt', 'flt123', '192.168.2.220/flt'); // 建立连接
    if (!$conn) {
    $e = oci_error();
    print htmlentities($e['message']);
    exit;
    }
    $query = 'select member from v$logfile'; // 查询语句
    $stid = oci_parse($conn, $query); // 配置SQL语句,准备执行
    if (!$stid) {
    $e = oci_error($conn);
    print htmlentities($e['message']);
    exit;
    }
    $r = oci_execute($stid, OCI_DEFAULT); // 执行SQL。OCI_DEFAULT表示不要自动commit
    if(!$r) {
    $e = oci_error($stid);
    echo htmlentities($e['message']);
    exit;
    }
    // 浏览器中打印执行结果
    print '<table border="1">';
    while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
    print '<tr>';
    foreach($row as $item) {
    print '<td>'.($item?htmlentities($item):' ').'</td>';
    print ($item?htmlentities($item));
    }
    print '</tr>';
    }
    print '</table>';
    oci_close($conn);
    ?>

    连接mysql数据库,在页面上显示内容,一开始读到了数据,但出现了乱码。所以加入了这一行mysql_query("set names 'utf8'");

    <?php
    $con = mysql_connect("localhost","root","123456");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }
    
    echo "connect sucessful<br>";
    
    mysql_select_db("ultrax", $con);
    
    
    /*
    $sql = "CREATE TABLE Persons
    (
    FirstName varchar(15),
    LastName varchar(15),
    Age int
    )";
    mysql_query($sql,$con);
    */
    
    
    mysql_query("set names 'utf8'");
    $result = mysql_query("select type,name,status from pre_forum_forum");
    
    while($row = mysql_fetch_array($result))
      {
      echo $row['type'] . " " . $row['name'] . " " . $row['status'];
      echo "<br />";
      }
    
    
    mysql_close($con);
    
    ?>




    <?php
    $con = mysql_connect("localhost","root","123456");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }

    echo "connect sucessful<br>";

    if (mysql_query("CREATE DATABASE my_db",$con))
      {
      echo "Database created";
      }
    else
      {
      echo "Error creating database: " . mysql_error();
      }


    $sql = "CREATE TABLE Persons
    (
    personID int NOT NULL AUTO_INCREMENT,
    PRIMARY KEY(personID),
    FirstName varchar(15),
    LastName varchar(15),
    Age int
    )";
    mysql_query($sql,$con);


    mysql_select_db("my_db", $con);
    $sql = "CREATE TABLE Persons
    (
    FirstName varchar(15),
    LastName varchar(15),
    Age int
    )";
    mysql_query($sql,$con);

    mysql_close($con);

    ?>


  • 相关阅读:
    2015/12/14 Python网络编程,TCP/IP客户端和服务器初探
    2015/12/12 考了PAT,又回来玩Python了。
    2015/11/9用Python写游戏,pygame入门(8):按钮和游戏结束
    2015/11/7用Python写游戏,pygame入门(7):碰撞检测
    2015/11/6用Python写游戏,pygame入门(6):控制大量的对象
    2015/11/5用Python写游戏,pygame入门(5):面向对象的游戏设计
    2015/11/4用Python写游戏,pygame入门(4):获取鼠标的位置及运动
    联奕公司奕报告集成数据库权限分配
    分享泛微公司OA系统用于二次开发的sql脚本
    (项目积累的)SQL数据库点滴
  • 原文地址:https://www.cnblogs.com/createyuan/p/4600485.html
Copyright © 2011-2022 走看看