php学习日记第六棒(PHP 开发环境的搭建)_please select the default characterset-程序员宅基地

技术标签: 前端  

1- 在 Windows 环境下搭建Windows + Apache(IIS)+ MySQL + PHP + PHPMyadmin = wamp

2- 在 Linux 环境下搭建 Linux + Apache + MySQL + PHP = lamp;

Windows下安装

1-套件安装

如:appserver、xampp等,集成了 apache + mysql + php + phpmyadmin。

安装前看 Apache 是否卸载干净,可 cmd netstat -an 查看80端口是否占用。

查看 MySQL 是否卸载干净,看“计算机管理/服务和应用程序/服务”中 mysql 条目在不在。

2-自定义安装

a.php 下载地址:http://windows.php.net/downloads/releases/archives/。下载 PHP 核心包。不需安装,只需解压。

PHP 核心包用于支持 PHP 开发,分为两个版本,如下:

VC6 就是 legacy Visual Studio 6 compiler,就是使用这个编译器编译的;

VC9 就是 the Visual Studio 2008 compiler,就是用微软的 VS 编译器编译的。

如何选择这两个版本呢?

Windows 下使用 Apache + PHP,选择 VC6;

Windows 下使用 IIS + PHP,选择 VC9。

术语 Non Thread Safe ->指的是线程非安全。不防范数据 ,效率比较高;但推荐使··用 Thread Safe(线程安全)。

3- 如何将 Apache 和 PHP 整合呢?或者说如何让 Apache 和 PHP 认识彼此呢?

a. 在 Apache 的 conf 目录下的 httpd.conf 文件中,加入如下代码:

#让 Apache 载入 PHP 处理模块
LoadModule php5_module ~ php 安装路径/php5apache2_2.dll
#phpIniDir 用于指定 PHP 的 ini 文件,该文件是对 php 的一些配置。
PHPIniDir "~ php 安装路径"
#表示当有一个资源是 *.php 时,就由 PHP 来处理
AddType application/x-httpd-php .php .phtml
其中“~ php 安装路径” 在案例中为 C:/myenv/php-5.3.5

b. 将 php.ini-deployment 文件重命名为 php.ini,启用开发模式(因为 php 的设置也需要在 php.ini 中修改)。

     php.ini-depoyment 文件在 php 的安装路径 C:/myenv/php-5.3.5 中。

     同 httpd.conf 指定 Apache 的设置,php.ini 指定 php 的设置。

   其次,在 php.ini 中指定对应的模块(指定扩展模块路径):

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
;这里我们指定 php 的扩展库的路径
;extension_dir="ext"
    php.ini 文件中使用“;”注释。修改 ;extension_dir = "~php 安装路径/ext" 

    去掉前面的分号—“;”,修改安装路径为 C:/myenv/php-5.3.5。

c. 测试是否整合成功。

    写一个 test.php 文件,文件代码如下:

<?php
    phpinfo();
?>
    放到 htdocs 文件夹中,重启 Apache,访问 http://localhost/test.php。出现 php 版本信息说明整合成功。
4- 安装 MySQL

    地址:http://www.mysql.com/downloads

    下载之后,一直默认安装,Detailed Configuration(细节配置)-> Developer machine (开发者机器)-> Mutifuctional Database(多功能数据库)-> …->DSS->

    遇到:please select the default characterset ,最后一个选项 Manual Selected Default Characterset   Characterset: utf8;表示使用 utf-8 编码来安装。

    root 用户相当于管理员,切记不要勾选 Create An Anonymous Account(创建一个匿名用户,有可能会被用来窃取数据)。

    最后,Ready to execute…出现四个可选项,直接点击 Execute,进入Processing Configuration, 勾选 start service,4个选项全部选中说明安装成功。

  测试 MySQL 是否可用:

     方法一,写一段 php 代码测试。将测试文件 test2.php 保存在 htdocs 中。   

<?php
    $conn = mysql_connect("localhost","root","root");
#连接数据库,参数分别是连接哪台服务器的数据库、用户名、密码
    if($conn){
        echo"连接数据库成功";
}else{
        echo"连接数据库失败";
}
?>
    当我们没有对 php 进行正确配置的时候,会提示:

  ”Fatal error: Call to undefined function mysql_connect() in C:\myenv\apache\htdocs\temp.php on line 3“

    原因:目前没有启用 mysql 功能。

    如何启用:在 php.ini 中找到

;extension=php_exif.dll     
;extension=php_mysql.dll  ;mysql 数据库
;extension=php_mysqli.dll ;mysql 扩展数据库
;extension=php_oci8.dll    
;extension=php_oci8_11g.dll  
    去掉 MySQL 数据库 和 MySQL 扩展数据库前面的分号,重启 Apache ,数据库连接成功。

    方法二,安装一个 phpmyadmin(一个网站) 来看看是否可以使用,地址:http://www.phpmyadmin.net

    解压后放在 htdocs 文件夹下,重命名为 phpMyAdmin,访问 http://localhost/phpMyAdmin/index.php,输入数据量的用户名和密码,进入数据库管理页面。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/caomujing/article/details/50339613

智能推荐

手把手教你写openwrt的makefile_makefile for openwrt-程序员宅基地

文章浏览阅读7.6k次,点赞6次,收藏28次。一般情况下,我们下载openwrt源码之后,我们都会基于openwrt的环境,定制化开发一些功能,openwrt里面不一定包含我们所有需要的库,可能我们需要的用到的库要自己加上去,这就涉及到如何我把我需要的模块添加到openwrt中编译。 网上也有许多关于openwrt下makefile编写的文章,但是恰好工作需要,我也从不懂到熟悉,现在把学习的过程及结果分享给大家,希望给有需要帮_makefile for openwrt

PHP preg_replace() 正则替换所有符合条件的字符串-程序员宅基地

文章浏览阅读685次。大多数语言的正则表达式都是由“/”作为定界符的,而在PHP中,还可以使用“#”定界,如果字符串中包含大量“/”字符,在使用“/”定界的时候,就需要对这些“/”转义,而使用“#”就不需要转义,更简洁。而正则表达式必须要使用定界符包围起来,在Javascript中定界符是“/”,而在PHP中,比较常见的是用“/”定界,也可以用“#”定界,而且外面还需要用引号包围起来。也就是说所有正则字符都有特定含义,如果需要再用来表示原字符含义,就需要在前面加“\”转义,即使非正则字符,用“\”转义也是没有问题的。_preg_replace

POI导出word,POI写word并导出.POI word相关类详解_poi生成word 在cell中新建p-程序员宅基地

文章浏览阅读397次。目录需求:用POI写一个Word并导出需求:用POI写一个Word并导出想到一个小品,问把大象装冰箱需要几步?_poi生成word 在cell中新建p

ISTQB初级认证-知识点及脑图总结-程序员宅基地

文章浏览阅读4.6k次,点赞17次,收藏72次。前言此文章为本人利用课余时间进行的ISTQB初级认证知识和考点的总结。总结过程主要参考了“ISTQB测试人员认证初级大纲(2011版)”,由于作者能力与精力有限,此篇文章可能会存在纰漏,望见谅并及时指出。谢谢!ISTQB思维脑图上图中红色字体部分为重要考点和易错点。ISTQB(初级)知识和考点总结软件测试基础(1)为什么需要测试(1.1)缺陷带来的危害(1.1.1)资金受..._istqb初级

Qt C++ 实现无边框窗体自定义缩放和拖动_qt无边框窗口缩放-程序员宅基地

文章浏览阅读1.8k次。在本文中,我们使用Qt C++中创建了一个无边框窗体,并实现自定义缩放和拖动功能。我们利用标志隐藏了窗体的边框,并通过事件过滤器监听了窗体和顶部栏的事件,从而实现了窗口的拖动和缩放功能。我们还通过辅助函数判断鼠标所处的边缘区域,并设置相应的鼠标样式,提供了直观的用户反馈。_qt无边框窗口缩放

随便推点

DDR5相比DDR4有什么新特性?-程序员宅基地

文章浏览阅读2.9k次,点赞2次,收藏29次。关注、星标公众号,不错过精彩内容作者:黄工素材来源:网络公众号:strongerHuang第五代双倍数据率同步动态随机存取存储器(英语:double data rate fifth-ge..._ddr4和ddr5的性能差距

java百度天气接口解析_Java调用天气接口(百度天气)解析返回的JSON数据-程序员宅基地

文章浏览阅读678次。简介:本文详细讲述了通过Java调用百度天气接口的方法,取得返回的JSON格式的数据,并且通过第三方包解析JSON格式的数据。通过百度天气API调用网络编程接口接收返回的JSON格式的数据。关于百度天气接口的详细说明可以参考文章: http://www..com/txw1958/p/baidu-weather-forecast-api.html使用百度提供的天气接口,也就是通过一个URL访问百..._java百度天气api接口

改造智能风扇之——普通BLDC风扇拆机分析篇_fu6831 bldc-程序员宅基地

文章浏览阅读4.5k次,点赞6次,收藏20次。拆机学院:直流变频塔扇一、概述随着国内经济的快速发展,如今的电风扇如已一改在人们印象中的传统形象,在外观和功能上都更追求个性化。当然风扇的动力核心也由最初的交流电机,延伸出使用直流电机。这次我们通过拆解一款直流变频塔扇,从硬件上学习一下目前这种直流变频风扇的工作方式。二、直流变频风扇从某宝买了一台,对其进行拆机,可从结构上,可将风扇拆解为3个部分,顶部的控制部门,中间出风口和扇叶,底部的电机和电源驱动部分。外壳除了螺丝还有卡扣,拆的时候需要注意下,太暴力,可能会造成塑料卡扣断裂,拆开外壳,下面我_fu6831 bldc

Linux系统VsCode 配置C/C++环境_linux vscode配置c/c++环境-程序员宅基地

文章浏览阅读1.8w次,点赞30次,收藏210次。Linux系统VsCode 配置C/C++环境_linux vscode配置c/c++环境

骨架图的模拟js实现_js 骨架图-程序员宅基地

文章浏览阅读592次。骨架图的模拟js实现场景​ 为了提升体验,我们这边在页面初始渲染时加入了骨架图来代替loading,在拿到数据后再渲染数据,更改组件的展示。感觉确实比loading要提升体验,开始没接触过,对这部分比较感兴趣,就尝试着用html+css+js实现了一个简略版的骨架图,其效果如下​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JJgeBzIe-1613973854534)(./骨架图.gif)]​ 骨架图本质上也是在数据未接收到时的页面初始展示,相比于loading体_js 骨架图

2061:【例1.2】梯形面积_c++梯形面积保留小数点后两位-程序员宅基地

文章浏览阅读1.6k次。2061:【例1.2】梯形面积_c++梯形面积保留小数点后两位