• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP安装

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

如何下载Apache,php,mysql

下载Apache

打开网址:http://httpd.apache.org/。

点击Download(http://httpd.apache.org/download.cgi#apache24)进入到详细页面。

可以看到这里有源码,二进制的版本,我们选择Windows版本。

点击后进入:http://httpd.apache.org/docs/current/platform/windows.html#down

可以看到官网已经做出说明,现在不再提供编译后的文件,只提供源码。好吧用第三方的。

我们可以从前三个网址下载相应版本,也可以使用WampServer和XAMPP集成包。

接下来就根据自己的系统选择相应的版本,x86是32位系统,x64是64位系统。

Apache是有环境依赖的,需要打上相应的VC运行库,如VC14等。

下载php

打开php官网的下载链接:http://php.net/downloads.php。

点击Windows downloads进入下载页面。

根据系统下载相应的版本,如64位则下载x64的版本。

如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程 安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。

下载mysql

从官网进入下载地址要多点几下。

打开网址http://dev.mysql.com/downloads/mysql

点击Download进行下载吧。

官网的速度还是比较慢的,这里就提供一个国内的镜像吧。

打开镜像网址:http://mirrors.sohu.com/mysql/

直接下载就可以了,如:http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.34-winx64.zip。

常用的国内镜像站

搜狐开源镜像站:http://mirrors.sohu.com/

网易开源镜像站:http://mirrors.163.com/

开源中国:http://mirrors.oschina.net/

首都在线科技股份有限公司:http://mirrors.yun-idc.com/

阿里云开源镜像:http://mirrors.aliyun.com/

如何配置Apache,php,mysql

配置Apache

php是用C语言进行编译的,如果没有安装VC相应的运行库,提示内容会很奇怪。如“提示NET HELPMSG 3547”。

在语句填写正确的情况下,VC环境也是造成其报错的原因之一,切记。

VC库对应的版本如下:

Visual C++ 2003 运行库(VC7)

Visual C++ 2005 运行库(VC8)

Visual C++ 2008 运行库(VC9)

Visual C++ 2010 运行库(VC10)

Visual C++ 2012 运行库(VC11)

Visual C++ 2013 运行库(VC12)

Visual C++ 2015 运行库(VC14)

对http.conf(D:\phpEnv\Apache24\conf\http.conf)配置文件进行修改-使用记事本打开就行
httpd.conf的具体设置如下:
(1)修改ServerRoot Apache的根路径:
    (37行)
    ServerRoot"c:/Apache24"改成=>ServerRoot "D:/phpEnv/Apache24"
(2)修改ServerName你的主机名称:
    如果此行不修改则启动apache 提示Starting httpd: AH00558
    (217行)
    ServerName www.example.com:80将前面的#去掉,该属性在从命令行启动Apache时需要用到。
(3)修改DocumentRoot Apache访问的主文件夹目录,就是php、html代码文件的位置。
Apache默认的路径是在htdocs(D:\phpEnv\Apache24\htdocs)下面,里面会有个简单的入口文件index.html。这个路径可以自
己进行修改,我这里将其配置在我自己新建的文件夹www(D:\phpEnv\www)下。
    (247行)
    DocumentRoot "c:/Apache24/htdocs"
    <Directory "c:/Apache24/htdocs">
    改为=>
    DocumentRoot "D:\phpEnv\www"
    <Directory "D:\phpEnv\www">
(4)修改入口文件配置:DirectoryIndex一般情况下我们都是以index.php、index.html、index.htm作为web项目的入口。
Apache默认的入口只有index.html需要添加其他两个的支持,当然这个入口文件的设置可以根据自己的需要增减,如果要求比较严
格的话可以只写一个index.php,这样在项目里面的入口就只能是index.php
    (274行)
    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
    改为=>
    <IfModule dir_module>
    DirectoryIndex  index.php index.htm index.html
    </IfModule>
(5)设定serverscript的目录:
    (358行)
    ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"
    改为=>
    ScriptAlias /cgi-bin/ "D:/phpEnv/Apache24/cgi-bin"
(6)设定虚拟目录路径,多站点为上级目录
    (380行)
    <Directory "c:/Apache24/cgi-bin">
      AllowOverride None
      Options None
      Require all granted
    </Directory>
    改为=>
    <Directory "D:/phpEnv/Apache24/cgi-bin">
      AllowOverride None
      Options None
      Require all granted
</Directory>

注册服务和启动服务

将Apache解压到C:\www\Apache24\,进入C:\www\Apache24\bin

配置Apache_错误解决办法

查看apache错误日志:目录下的apache/logs/error.log

查看window系统日志:我的电脑右键管理系统工具事件查看器应用程序日志

在命令行中使用netstat -ano就可以很清楚的看到本地80口占用程序PID记下PID然后打开任务管理器,在进程里查找到PID所对应的进程

如上图,则修改C:\www\Apache24\httpd.conf里面的目录路径,将C: \Apache24更改为C:\www\Apache24。

到这里单个Apache配置就已经完成。

配置PHP

将php-5.6.12-Win32-VC11-x86.zip解压到目录,然后在Apache24\conf\httpd.conf中进行配置:

Php的一些常用配置修改:(D:\phpEnv\php\php.ini)

时区的设置:date.timezone = Asia/Shanghai

错误报告等级:error_reporting = E_ALL这个在开发模式下可以全部打开。

配置MYSQL

修改配置文件:C:\mysql\my.ini

注意:MySQL的管理员用户名为root,密码默认为空。

修改配置文件:打开php的配置文件php.ini(D:\phpEnv\php\php.ini)

1)PHP对扩展的支持(721行)
#这里需要注意一下,如果只用ext做为扩展路径而不是全路径,容易导致扩展路径出错。向httpd.exe传相对路径就会定们出错。所以最好使用全路径。
    ; extension_dir = "ext",去掉前面的“;”,并改为extension_dir ="D:\phpEnv\php\ext"打开php的扩展支持,ext文件夹下有很多php的扩展支持.dll文件,感兴趣的同学可以看一下。
(2)然后就是打开php的mysql扩展了
    (875、876行)去掉前面的“;”
    extension=php_mysql.dll
    extension=php_mysqli.dll
当然也可以打开881行的php_pdo_mysql.dll启用php的pdo支持我一般都用这个。

MYSQL修改root密码

  • 方法1: 用SET PASSWORD命令
  • 方法2: 用mysqladmin
  • 方法3: 用UPDATE直接编辑user表
mysqladmin -u root password "newpass"

方法1: 用SET PASSWORD命令

首先登录MySQL。

格式:mysql> set password for 用户名@localhost = password('新密码');

例子:mysql> set password for root@localhost = password('123');

方法2:用mysqladmin

格式:mysqladmin -u用户名 -p旧密码 password 新密码

例子:mysqladmin -uroot -p123456 password 123

方法3:用UPDATE直接编辑user表

首先登录MySQL。

mysql> use mysql;

mysql> update user set password=password('123') where user='root' and host='localhost';

mysql> flush privileges;

方法4:在忘记root密码的时候,可以这样 以windows为例:

  1. 关闭正在运行的MySQL服务。
  2. 打开DOS窗口,转到mysql\bin目录。
  3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
  4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
  5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
  6. 连接权限数据库: use mysql; 。
  7. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。
  8. 刷新权限(必须步骤):flush privileges; 。
  9. 退出 quit。
  10. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

如何在本地配置两个站点

让Apache在启动时能加载虚拟主机模块。

打开Apache安装目录下conf/httpd.conf文件,找到下面两行文字,把最前面的 # 号去掉,然后保存。

接着找到同一文件中的DocumentRoot和Directory,改为站点目录的上一级目录

例如站点放在 D:/Appserv/www/1 和 D:/Appserv/www/2,则改为以下形式

配置完成后即可打开Apache安装目录下/conf/extra/httpd-vhosts.conf文件,在最后添加如下:

DocumentRoot是文件放置路径,ServerName是网站域名:

配置PHP+PhpStorm+xdebug

下载xdebug文件

http://xdebug.org/wizard.php

将phpinfo()的源代码复制到文本框中,xdebug会提示如何配置和下载哪个版本的xdebug。

全部下载地址:

http://www.xdebug.org/download.php

在xdebug官网会有许多安装提示。其中可能会出现的问题有:

phpize没有安装:继而又要安装brew,再安装autoconf可谓一波三折

解决相关组件不全的问题

问题描述
Mac系统升级到10.9(mavericks)时安装php扩展,执行 phpize 提示如下错误:
Cannot find autoconf. Please check your autoconf installation
and the $PHP_AUTOCONF environment variable.
解决办法
先安装Homebrew:
如果以下链接失效的话,可以到brew官网查看。http://brew.sh/
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后安装 autoconf:
brew install autoconf

配置php.ini,在末尾加上

在xdebug官网上的配置,只能够正确配置好xdebug但是不能与phpstorm进行配置。在php.ini末尾加上如下代码:
[xdebug]
zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"
xdebug.remote_enable = On
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000
xdebug.idekey = PHPSTROM

[xdebug]
zend_extension="php_xdebug-2.3.3-5.6-vc11.dll"
xdebug.remote_enable = On
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM

zend_extension:如果使用相对路径,必须检查一下,php.ini中extension_dir是否为绝对路径。

Debug->Xdebug->Debug port:必须与php.ini文件中的xdebug.remote_port保持一致。

chrome的xdebug配置

在IDE key里将其配置成“phpStorm”

项目地址:https://github.com/mac-cain13/xdebug-helper-for-chrome

包直接下载地址:https://clients2.google.com/service/update2/crx?response=redirect&prodversion=38.0&x=id%3Deadndfjplgieldj bigjakmdgkmoaaaoc%26installsource%3Dondemand%26uc

进入网址:http://yurl.sinaapp.com/crx.php

输入包名:eadndfjplgieldjbigjakmdgkmoaaaoc

安装:

打开chrome,输入:chrome://extensions/

然后将extension_1_6_1.crx拖放到浏览器窗口。

phpStorm的相关配置

打开phpStorm,

进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息,name填localhost,host填localhost,port填80,debugger选XDebug

进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认

进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 phpStorm,host 填localhost,port 填80

点OK退出设置。

xdebug中其他配置

在phpStorm里打开监听(电话按钮)。

对apache进行重启,如使用命令行:net stop apache24 & net start apache24;

查看xdebug是否正确配置:进入到php.exe目录:执行php.exe -m可以查看相关模块。

#重启apache
sudo apachectl restart
#修改php.ini权限
sudo chmod 0777 php.ini
#编辑php.ini文件
sudo vi php.ini(修改i,退出:q,保存退出:wq)
#对apache进行重启,如使用命令行:
net stop apache24 & net start apache24;

在phpinfo()中进行验证其是否安装成功,如果不成功先检查路径,后检查端口。

配置phpMyAdmin

进入官网下载压缩包:https://www.phpmyadmin.net/

将phpMyAdmin解压到虚拟目录(www.1.com)

访问phpMyAdmin:http://www.1.com/phpMyAdmin

要开启插件extension=php_mbstring.dll

用户名默认为root,密码为空。设置密码的方法:mysqladmin -u root password "newpass"

使用空密码进入phpMyAdmin:

phpMyAdmin的配置文件为根目录下的:config.inc.php(将config.sample.inc.php复制改名可得。复制libraries/config.default.php亦可。)

修改:$cfg['Servers'][$i]['AllowNoPassword'] = true;即可。

MAC平台补充

启动Apache

打开终端(terminal)

进入到root目录:sudo -i;sudo su。

运行”sudo apachectl start”,输入root密码,这样就启动了Apache。

默认虚拟目录:/Library/WebServer/Documents/下。

常用命令行:

网址:http://httpd.apache.org/docs/2.4/programs/apachectl.html

sudo apachectl start
sudo apachectl stop
sudo apachectl restart

运行php

在终端中运行“sudo vi /etc/apache2/httpd.conf”。

找到“#LoadModule php5_module libexec/apache2/libphp5.so”,把#号去掉,保存(在命令行输入:w)并退出vi(在命令行输入:q)。

运行“sudo cp /etc/php.ini.default /etc/php.ini”,这样就可以运行sudo vi /etc/php.ini来编辑php.ini配置各种功能了。比如:

;通过下面两项来调整PHP提交文件的最大值,如phpMyAdmin中导入数据的最大值
upload_max_filesize = 2M
post_max_size = 8M
;通过display_errors来控制是否显示PHP程序的报错信息,这在调试PHP程序时非常有用
display_errors = Off
;增加mysql的支持:
extension=php_mysql.dll

运行“sudo apachectl restart”,重启Apache,这样PHP就可以用了。

安装Mysql

从5.7开始安装的时候会默认生成密码,一定要截图记住密码。

系统偏好设置->MySQL->Start MySQL Server就可以开启服务。

使用xampp

个人感觉在Mac平台下,自己安装如果顺利倒也简单,但毕竟依赖太多,纵使你精通某一方面,但bug涉及的面太多。如果仅仅是配置个php+apache+mysql还是很简单的,系统本身就有php环境,如果要扩展一下那就......还是算了吧,用集成环境也是一个不错的选择。

先到官网下载集合包:https://www.apachefriends.org

https://www.apachefriends.org/xampp-files/5.6.28/xampp-osx-5.6.28-1-installer.dmg

到Mac本地后,双击安装吧!

其xampp的默认目录为:/Applications/xampp/

安装xdebug

感觉PHP都自带了一个版本的xdebug一般情况下不用自己去编译, 比如说xampp的文件在/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so。

好了,借花献佛,跳过了phpize等烦人的依赖。

在Mac下配置xampp+xdebug

下载XAMPP:https://www.apachefriends.org/xampp-files/5.6.28/xampp-osx-5.6.28-1-installer.dmg

安装XAMPP:

配置文件在/Applications/XAMPP/xamppfiles/etc/目录下面:

修改php.ini,httpd.conf,/extra/httpd-vhosts.conf

根据http://xdebug.org/wizard.php 做如下修改:

在php.ini增加xdebug支持:

在httpd.conf修改多站点支持,和虚拟目录:

在/extra/httpd-vhosts.conf中配置域名转向:

到此配置的就OK了,phpstorm的配置可以参照windows的配置。

相关问题

如何将apache添加为服务

httpd.exe -k install -n "Apache24"
rem httpd.exe -k uninstall -n "Apache24"

如何查看apache服务是否安装成功

#rem 在findstr的参数/I有不分大小写的作用
net start|findstr /I "apache"
#使用资源管理器查看
开始-->运行-->services.msc-->确定

如何解决apache服务无法正常安装的问题

#首先确定软件32位和64位是否和自己的系统匹配
#安装相应的Microsoft Visual C++ Redistributable

如何解决端口被占用的问题

#查看80端口是否被占用:
netstat -aon|findstr "80"
#打开apache目录下的conf/httpd.conf
修改"Listen 80"为"Listen 8088"

如何添加环境变量

#运行SystemPropertiesAdvanced.exe,系统属性高级
#环境变量Path,末尾添加,分号结束

如何改变服务器网站目录

#打开文件/conf/httpd.conf
#修改ServerRoot(服务器apache目录)
#修改DocumentRoot(网站目录)

相关环境

AppServ集成环境(Windows):http://www.appservnetwork.com

XAMPP集成环境(Windows,Linux,Mac):http://www.apachefriends.org

WAMP集成环境(64/32位Windows):http://http://www.wampserver.com/

PHP_环境配置_python脚本

# -*- coding: cp936 -*-
#Writeby:Moments(衿华客)
#Date:201701111954
import os
import zipfile
import shutil

class Moments:
    def __init__(self):
        print("Hello Moments")
        pass

    #path:要解压文件的路径,dir_name:解压到哪个文件夹,dir_zip:只解压压缩包里的某个文件夹,dir_rename:将解压后的文件夹重命名
    def unZip(self, path="", dir_name="", dir_zip=[], dir_rename=[]):
        if path == "":
            print("【ERROR:要解压文件的路径为空】")
            return False
        if len(dir_rename) > 0 and os.path.exists(dir_rename[1]):
            print("【WARN:将解压后的文件夹重命名,目标文件夹%s已经存在】" % dir_rename[1])
            return False
        #解压操作
        file = zipfile.ZipFile(path, "r")
        for name in file.namelist():
            #只解压指定的文件夹
            if len(dir_zip) > 0:                
                for i in dir_zip:
                    if i in name:
                        file.extract(name, os.getcwd()+"/"+dir_name)
            else:
                file.extract(name, os.getcwd()+"/"+dir_name)
        #改名操作
        if len(dir_rename) > 0:            
            file_list = os.listdir(os.getcwd())
            for name in file_list:
                if not os.path.isdir(name):
                    continue
                if dir_rename[0] in name:
                    os.rename(name, dir_rename[1])
                    break #只改第一个,防止多个问题
        #析构提示                    
        print("【SUCCEED:已解压" + path + "到目录" + dir_name + "】")

    #遍历目录,返回符合条件的路径
    def listDir(self, path=".", *argc):
        file_list = os.listdir(path) #遍历路径
        flag_temp = True #哨兵
        result = [] #返回值变量
        for name in file_list:            
            for argv in argc:            
                if argv not in name:
                    flag_temp = False
                    break
            if flag_temp:
                result.append( os.path.abspath(name) )
            else:
                flag_temp = True
        if len(result) > 0:
            print("【SUCCEED:找到符合条件的文件:%s】" % result)
            return result
        else:
            print("【ERROR:没有找到条例条件的文件/文件夹】")
            return False

    #配置Apache,php,mysql
    def configPHP(self, APM_name=["Apache", "php", "mysql"]):
        #配置php
        config_name = os.path.abspath(".").replace("\\", "/") + "/" + APM_name[1] + "/php.ini"
        print("【PATH:配置%s】" % config_name)
        if os.path.exists(config_name):
            os.remove(config_name)
        f1 = open(config_name.replace("php.ini", "php.ini-production"), "r").readlines()
        f2 = open(config_name, "w")
        for line1 in f1:
            #这里要用绝对路径,不然会导致抓取到Apache\bin下的ext。
            #包括xdebug在配置的时候也会出现目录问题。
            if '''extension_dir = "ext"''' in line1:
                line1  = '''extension_dir = "%s/ext"\n''' % (os.path.abspath(".").replace("\\", "/") + "/" + APM_name[1])
            elif ''';extension=php_mysql.dll''' in line1:
                line1 = '''extension=php_mysql.dll\n'''
            elif ''';extension=php_mysqli.dll''' in line1:
                line1 = '''extension=php_mysqli.dll\n'''
            elif ''';extension=php_pdo_mysql.dll''' in line1:
                line1 = '''extension=php_pdo_mysql.dll\n'''
            elif ''';extension=php_gd2.dll''' in line1:
                line1 = '''extension=php_gd2.dll\n'''
            elif ''';extension=php_mbstring.dll''' in line1:
                line1 = '''extension=php_mbstring.dll'''
            else:
                pass
            f2.write(line1)
        f2.close()
        print("【SUCCEED:完成%s配置】" % APM_name[1])

    def configMysql(self, APM_name=["Apache", "php", "mysql"]):
        #配置mysql
        config_name = os.path.abspath(".").replace("\\", "/") + "/" + APM_name[2] + "/my.ini"
        print("【PATH:配置%s】" % config_name)
        if os.path.exists(config_name):
            os.remove(config_name)
        f1 = open(config_name.replace("my.ini", "my-default.ini"), "r").readlines()
        f2 = open(config_name, "w")
        for line1 in f1:
            if "basedir" in line1:
                line1 = "basedir = %s\n" % (os.path.abspath(".").replace("\\","/") + "/" + APM_name[2])
            elif "datadir" in line1:
                line1 = "datadir = %s\n" % (os.path.abspath(".").replace("\\","/") + "/" + APM_name[2] + "/data")
            elif "port" in line1:
                line1 = "port = 3306\n"
            else:
                pass
            f2.write(line1)
        f2.write("""# 服务端的编码方式
character-set-server = utf8
[client]
#客户端编码方式,最好和服务端保存一致
loose-default-character-set = utf8""")    
        f2.close()
        print("【SUCCEED:完成%s配置】" % APM_name[2])

    def configApache(self, APM_name=["Apache", "php", "mysql"]):
        #配置Apache
        config_name = os.path.abspath(".").replace("\\", "/") + "/" + APM_name[0] + "/conf/httpd.conf"
        print("【PATH:配置%s】" % config_name)
        if not os.path.exists(config_name.replace("httpd.conf", "httpd.conf.bak")):
            shutil.copy(config_name, config_name.replace("httpd.conf", "httpd.conf.bak"))
        if os.path.exists(config_name):
            os.remove(config_name)
        f1 = open(config_name.replace("httpd.conf", "httpd.conf.bak"), "r").readlines()
        f2 = open(config_name, "w")
        for line1 in f1:
            #更改默认目录
            if "c:/Apache24" in line1:
                line1 = line1.replace("c:/Apache24", os.path.abspath(".").replace("\\", "/")+"/"+APM_name[0])
            #添加默认主页支持
            

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php安装信息发布时间:2022-07-10
下一篇:
PHP中的转义函数发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap