澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站:PHP成长之路之PHP连接M

1.PHP是什么意思?

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

首先介绍一下LAMP和LNMP

超文本预处理器(Hypertext Preprocessor)

使用PHP连接MySql数据库具体操作:

LMAP即Linux Apache Mysql/MariaDB Perl/PHP/Python的首字母缩写。这是一组常用来搭建动态网站或者服务器的开源软件。它们本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

 

<?php
/**
 * 数据库连接文件
 * Created by PhpStorm.
 * User: DingChao
 * Date: 2017/10/17
 * Time: 16:02
 */

/*对应的参数1:本地,2:用户名3,密码*/
$conn = @mysql_connect("localhost", "****", "****");
if (!$conn) {
    die("数据库链接失败:" . mysql_error);
}
mysql_select_db("phpdemo1", $conn);//参数2:数据库名称
//字符转换,读库
mysql_query("set character set 'utf-8'");
//写库
mysql_query("set names 'utf-8'");
?>

Linux

2.PHP是干什么用的?

在要进行数据库连接查询数据时:

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl(实际抽取与汇报语言)的特点,利于学习,使用广泛,主要适用于Web开发领域。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI(通用网关接口)要高许多;PHP还可以执行编译后代码,编译可以达到编译和优化代码运行,使代码运行更快。

<?php
/**
 * Created by PhpStorm.
 * User: DingChao
 * Date: 2017/10/19
 * Time: 13:51
 */
/*防止乱码*/
header("Content-type: text/html; charset=utf-8");
//session_start();
//多表联查 inner join测试
include('conn.php');


/*根据传递的不同参数执行不同的方法*/
if (empty($_REQUEST['arg'])) {
    /*拼接成功后返回的字符串*/
    $resultJson = array(
        'state' => 1,
        'msg' => '缺少必要的参数',
        'data' => ''
    );
    echo JSON($resultJson);
} else {
    if ($_REQUEST['arg'] != '') {
        if ($_REQUEST['arg'] == 'datajson') {
            $sql = "select e.ename,e.ejob,d.dname from emp e INNER JOIN dept d on e.edid=d.did";
//$result = mysql_query('select e.ename,e.ejob,d.dname from emp e INNER JOIN dept d on e.edid=d.did');
            $result = mysql_query($sql);

            /*创建数组用来接收多部门员工*/
            $emp_dept = array();
            if (mysql_num_rows($result) > 0) {
                while ($row = mysql_fetch_assoc($result)) {
                    array_push($emp_dept, $row);
                }
                /*拼接成功后返回的字符串*/
                $resultJson = array(
                    'state' => 0,
                    'msg' => '查询成功',
                    'data' => $emp_dept
                );
//    print_r(json_encode($resultJson));//打印json
                echo JSON($resultJson);
            } else {
                /*拼接没有数据后返回的字符串*/
                $resultJson = array(
                    'state' => 1,
                    'msg' => '暂时没有数据',
                    'data' => ''
                );
//    print_r(json_encode($resultJson));
                echo JSON($resultJson);
            }
        }
    }

    /*根据参数传递的不同值执行不同的方法*/
    if (empty($_REQUEST['arg'])) $_REQUEST['arg'] = '';
    if ($_REQUEST['arg'] != '') {
        if ($_REQUEST['arg'] == 'argssss') {
            echo 'efadfdfasdfsadfsdfas';
        }
    }
}


/*处理链表查询中文为null的情况和JOSN配合使用*/
/**
 *  arrayRecursive方法对输出结果进行递归,把每一项用urlencode处理
 *  在开始的时候,我们建立一个递归层数计数器,如果递归层数太深我们就放弃此次操作
 *  apply_to_keys_also 变量一般为false,我们在建立数据库时用的索引一般都是英文,故在这里并不用将数组的索引值也用urlencoding处理
 * @param  string &$array 要处理的字符串
 * @param  string $function 要执行的函数,我们将所有数据都用urlencode处理
 * @param  boolean $apply_to_keys_also 是否也应用到key上,因为key一般都为英文,故这里为false
 */

function arrayRecursive(&$array, $function, $apply_to_keys_also = false)
{
    static $recursive_counter = 0;
    if (  $recursive_counter > 1000) {
        die('possible deep recursion attack');
    }
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            arrayRecursive($array[$key], $function, $apply_to_keys_also);
        } else {
            $array[$key] = $function($value);
        }
        if ($apply_to_keys_also && is_string($key)) {
            $new_key = $function($key);
            if ($new_key != $key) {
                $array[$new_key] = $array[$key];
                unset($array[$key]);
            }
        }
    }
    $recursive_counter--;
}

/**
 *  首先对结果数组$array运行arrayRecursive,将所有内容进行urlencoding
 *  接着对urlencode之后的数组进行JSON编码
 *  最后再进行JSON解码,于是得到了我们需要的中文数据
 * @param  string &$array 要处理的字符串,这里是数据库中的数据
 */

function JSON($array)
{
    arrayRecursive($array, 'urlencode', true);
    $json = json_encode($array);
    return urldecode($json);
}

    本次使用的CentOS为Linux的一个发行版。

 

 

Apache

3.PHP为什么会用到Mysql?

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

当网站越做越大时,可能会遇到这样的问题:

    Apache的主程序名叫httpd,这也是我们实验的时候需要安装的程序之一。

①网站包含了太多的东西,使得访问者不能够很快得得到他们想要的东西,这个问题在某种程度上对一个网站而言是致命的;

MySQL

②访问者想要向你提供信息,而且这些信息必须保存下来以备后用。

 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

 

 本次实验使用的数据库软件为MySQL的一个分支软件,叫做MariaDB。

上面的两个问题,都可以通过数据库来解决!

php

为什么要用 PHP 和 Mysql,几乎所有的主要的商业网站数据库都是基于 SQL 的。其中最为流行的可能得算 Oracle 了。它很有威力,当然,价格也不菲。 SQL 不是一个应用程序,而是一种语言,它是 Structured Query Language (结构化查询语言)的简写,用来对数据库进行操作和查询的。

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

在最近的几年中,一些公司开发出了“开放代码”的 SQL 应用程序,其中最著名的可能算得上 MySQL 了。它不仅仅是免费的,对于一般的中小型数据库应用,它的表现并不比 Oracle 逊色。

WordPress

  • *要在一个网站上运行 MySQL ,你需要一种脚本语言来和数据库进行交互,所以PHP用到了Mysql。

WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。 

 

LNMP和LAMP的区别

4.PHP Mysql的优势

LNMP和LAMP的区别就在于使用Nginx而不是Apache。

  • 技术成熟、开发迅速

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

PHP MySQL是目前最为成熟、稳定、安全的企业级WEB开发技术,广泛应用于超大型站点(如:森动前端使用PHP,可输入:www.sendong.com/index.php)。其成熟的架构、稳定的性能、嵌入式开发方式、简洁的语法,使得系统能迅速开发。

Nginx和Apache的优缺点对比

  • 高效执行、安全可靠

nginx 相对 apache 的优点:

  PHP在安全性的性能表现不俗,帐号、密码采用加密技术,确保数据帐号信息安全。关键数据采用多层加密技术,有效保证数据安全。PHP MySQL可跨UNIX、Linux、Windows NT等平台运行,降低了系统及数据迁移的风险。

    轻量级,同样起web 服务,比apache 占用更少的内存及资源。

    抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能。

    高度模块化的设计,编写模块相对简单。

    社区活跃,各种高性能模块出品迅速啊。

apache 相对nginx 的优点:

    rewrite ,比nginx 的rewrite 强大。

    模块超多,基本想到的都可以找到。

    少bug ,nginx 的bug 相对较多。

    超稳定。

动手实操

假设你已经安装好了centos 了(如果不会,可以直接在阿里云购买)

先看下系统版本号,我当前装的是CentOs 7.4虚拟机

[itarea@centos-7 ~]$ cat /etc/centos-release

CentOS Linux release 7.4.1708 (Core)

[itarea@centos-7 ~]$

Apache安装

[itarea@centos-7 ~]$ yum install httpd -y

Loaded plugins: fastestmirror, langpacks

You need to be root to perform this command

报错提示没有权限,解决办法,改为root权限,然后输入密码回车

1

2

[itarea@centos-7 ~]$ su root

Password:

可以看到,用户切换成了root,再执行一遍安装

1[root@centos-7 itarea]# yum install httpd -y

接下来,我们启动httpd服务:

1[root@centos-7 itarea]# systemctl start httpd

[root@centos-7 itarea]# ss -tnl

State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              

LISTEN     0      128          *:111                      *:*                  

LISTEN     0      5      192.168.122.1:53                       *:*                  

LISTEN     0      128          *:22                       *:*                  

LISTEN     0      128    127.0.0.1:631                      *:*                  

LISTEN     0      100    127.0.0.1:25                       *:*                  

LISTEN     0      128         :::111                     :::*                  

LISTEN     0      128         :::80                      :::*                  

LISTEN     0      128         :::22                      :::*                  

LISTEN     0      128        ::1:631                     :::*                  

LISTEN     0      100        ::1:25                      :::*

可以看到http服务的80端口是处于监听状态的。

MySQL安装

1[root@centos-7 itarea]# yum install mysql mariadb-server -y

安装完之后开启MySQL服务:

1[root@centos-7 itarea]# systemctl start mariadb

[root@centos-7 itarea]# ss -tnl

State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              

LISTEN     0      128          *:111                      *:*                  

LISTEN     0      5      192.168.122.1:53                       *:*                  

LISTEN     0      128          *:22                       *:*                  

LISTEN     0      128    127.0.0.1:631                      *:*                  

LISTEN     0      100    127.0.0.1:25                       *:*澳门新浦京娱乐场网站:PHP成长之路之PHP连接MySql数据库,7搭建WordPress个人博客网站。                  

LISTEN     0      50           *:3306                     *:*                  

LISTEN     0      128         :::111                     :::*                  

LISTEN     0      128         :::80                      :::*                  

LISTEN     0      128         :::22                      :::*                  

LISTEN     0      128        ::1:631                     :::*                  

LISTEN     0      100        ::1:25                      :::*

可以看到mysql服务的3306端口是处于监听状态的。

进入Mysql,mysql第一次安装默认是没有密码的,输入后直接回车就行

[root@centos-7 itarea]# mysql -u root -p

Enter password:

Welcome to the MariaDB monitor.  Commands end with ; or g.

Your MariaDB connection id is 3

Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MariaDB [(none)]>

创建一个名为wordpress的数据库

Welcome to the MariaDB monitor.  Commands end with ; or g.

Your MariaDB connection id is 2

Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MariaDB [(none)]> create database wordpress;

Query OK, 1 row affected (0.00 sec)

查看数据库,并切换到mysql数据库

MariaDB [(none)]> show databases;

--------------------

| Database           |

--------------------

| information_schema |

| mysql              |

| performance_schema |

| test               |

| wordpress          |

--------------------

5 rows in set (0.00 sec)

MariaDB [(none)]> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

MariaDB [mysql]>

更改数据库用户名为root密码

1MariaDB [mysql]> update user set password=password('新密码') where user='root';

刷新用户权限列表,并退出重新登录

MariaDB [mysql]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> exit

php安装

1[root@centos-7 itarea]# yum install php php-mysql php-gd php-xml -y

进入httpd主服务目录

1[root@centos-7 itarea]# cd /var/www/html

点击I切换到Insert模式,输入以下内容,按ecs键,输入:wq   并回车

  echo phpinfo();

?>

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

~                                                                                                  

:wq

然后,打开浏览器,输入主机

澳门新浦京娱乐场网站 1

WordPress安装

安装WordPress并解压,WordPress最新版下载地址:

[root@centos-7 html]# wget

[root@centos-7 html]# unzip wordpress-4.9.4-zh_CN.zip

注意:如果下载的地址不在/var/www/html目录下,你需要将文件移动到该目录下

1[root@centos-7 html]# cp -r wordpress/* /var/www/html

进入/var/www/html目录,复制wp-config-sample.php文件并将其命名为wp-config.php并编辑wp-config.php

[root@centos-7 html]# sudo cp wp-config-sample.php wp-config.php

[root@centos-7 html]# vim wp-config.php

然后找到下面这些内容,修改database_name_here为刚刚新建的数据库(本位为wordpress),username_here为root,密码为修改后的密码,然后按ecs输入:wq  退出保存

// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //

/** WordPress数据库的名称 */

define('DB_NAME', 'database_name_here');

/** MySQL数据库用户名 */

define('DB_USER', 'username_here');

/** MySQL数据库密码 */

define('DB_PASSWORD', 'password_here');

/** MySQL主机 */

define('DB_HOST', 'localhost');

/** 创建数据表时默认的文字编码 */

define('DB_CHARSET', 'utf8');

/** 数据库整理类型。如不确定请勿更改 */

define('DB_COLLATE', '');

安装wordpress,在浏览器地址栏输入)

澳门新浦京娱乐场网站 2

点击现在就开始,如果刚刚已经配置了wp-config.php就会出现左图,如果没有配置就会出现右图

澳门新浦京娱乐场网站 3

澳门新浦京娱乐场网站 4

点击提交

澳门新浦京娱乐场网站 5

点击安装wordpress,点击登录

澳门新浦京娱乐场网站 6

输入用户名和密码,登录

澳门新浦京娱乐场网站 7

成功啦,接下来的时间就交给你咯,嘿嘿,成功后,可以给博主留下网址哟,和博主一块分享下。

本文由澳门新浦京娱乐场网站发布于数据库,转载请注明出处:澳门新浦京娱乐场网站:PHP成长之路之PHP连接M