PHP_环境配置_python脚本_2017

Apache配置

需要安装:VC2015

httpd-2.4.16-win32-VC14.zip VC14就是2015的环境。

又比如:php-5.6.12-Win32-VC11-x86 VC11就是2012的环境。

如果没有安装对应的环境,在配置php + apache时,提示内容会很奇怪。

可能会提示"提示NET HELPMSG 3547"在

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

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

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

遇到错误:

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

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

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

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

PHP配置

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

# php5 support
LoadModule php5_module "C: /php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .html .htm
# configure thepath to php.ini
PHPIniDir " C:/php"

将上述行为写成一个脚本可以方便下次配置,并且省去总是改目录的问题。

MYSQL配置

[mysqld]
# These are commonly set, remove the # and set as required.
#mysql的根目录
basedir = "E:/BaiduBack/BaiduBack/PHPENV/mysql"
#mysql的根目录
datadir = "E:/data"
# 默认端口
port = 3306
# server_id = .....
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 服务端的编码方式
character-set-server = utf8
[client]
#客户端编码方式,最好和服务端保存一致
loose-default-character-set = utf8

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

MySQL修改root密码的多种方法

方法1: 用SET PASSWORD命令

mysql -u root
mysql> SET PASSWORD FOR ‘root‘@‘localhost‘ = PASSWORD(‘newpass‘);

方法2:用mysqladmin

mysqladmin -u root password "newpass"
如果root已经设置过密码,采用如下方法
mysqladmin -u root password oldpass "newpass"

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

mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD(‘newpass‘) WHERE user = ‘root‘;
mysql> FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
mysqld_safe --skip-grant-tables&
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user=‘root‘;
mysql> FLUSH PRIVILEGES;

如何在本地配置两个站点:

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

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

#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#Include conf/extra/httpd-vhosts.conf   

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

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

DocumentRoot"D:/Appserv/www"
<Directory"D:/Appserv/www">

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

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

<VirtualHost*:80>
DocumentRoot"D:/Appserv/www/1"
ServerName  www.xxx.com
</VirtualHost>
<VirtualHost*:80>
DocumentRoot"D:/Appserv/www/2"
ServerName   www.xxx2.com
</VirtualHost>

PHP_环境配置_python脚本

import os

class Moments:
    def __init__(self):
        print("Hello Moments");
        pass
    def configApache24(self, pathname="Apache24"):
        if os.path.exists(pathname):
            print("Find path %s" % pathname)
        else:
            return false;

        f5 = open(os.path.abspath(".").replace("\\","/") + "/php/php.ini-production", "r").readlines()
        f6 = open(os.path.abspath(".").replace("\\","/") + "/php/php.ini", "w")
        for line in f5:
            if ‘‘‘extension_dir = "ext"‘‘‘ in line:
                line = """extension_dir = "ext"\n"""
            elif """;extension=php_mysql.dll""" in line:
                line = """extension=php_mysql.dll\n"""
            elif """;extension=php_mysqli.dll""" in line:
                line = """extension=php_mysqli.dll\n"""
            elif """;extension=php_pdo_mysql.dll""" in line:
                line = """extension=php_pdo_mysql.dll\n"""
            else:
                line = line
            f6.write(line)
        f6.close()

        f3 = open(os.path.abspath(".").replace("\\","/") + "/mysql/my-default.ini", "r").readlines()
        f4 = open(os.path.abspath(".").replace("\\","/") + "/mysql/my.ini", "w")

        for line in f3:
            if "basedir" in line:
                line = "basedir = %s\n" % (os.path.abspath(".").replace("\\","/") + "/mysql")
            elif "datadir" in line:
                line = "datadir = %s\n" % (os.path.abspath(".").replace("\\","/") + "/mysql/data")
            elif "port" in line:
                line = "port = 3306\n"
            else:
                line = line
            f4.write(line)
        f4.write("""# 服务端的编码方式
character-set-server = utf8
[client]
#客户端编码方式,最好和服务端保存一致
loose-default-character-set = utf8""")
        f4.close()
        s = os.path.abspath(".").replace("\\","/") + "/mysql/bin/mysqld.exe --remove mysql"
        os.system(s)
        s = os.path.abspath(".").replace("\\","/") + "/mysql/bin/mysqld.exe --install mysql"
        os.system(s)
        os.system("net stop mysql & net start mysql & pause")

        if os.path.exists(pathname + "/conf/httpd.conf.bak"):
            os.remove(pathname + "/conf/httpd.conf")
            #os.rename(pathname + "/conf/httpd.conf.bak", pathname + "/conf/httpd.conf")
        else:
            os.rename(pathname + "/conf/httpd.conf", pathname + "/conf/httpd.conf.bak")

        f = open(pathname + "/conf/httpd.conf.bak", "r").readlines()
        f2 = open(pathname + "/conf/httpd_new.conf", "w")

        #改变appache路径
        for line in f:
            if ‘c:/Apache24‘ in line:
                #line = "#"+line+"\n"+"ServerRoot "+os.path.abspath(".").replace("\\","/")+"/"+pathname
                line = line.replace("c:/Apache24", os.path.abspath(".").replace("\\","/")+"/"+pathname)
                #多个站点设置上级目录(这里直接写成根目录)
                line = line.replace("Apache24/htdocs", "")
            elif ‘<IfModule unixd_module>‘ in line:
                s_temp = """# php5 support

LoadModule php5_module "%s/php/php5apache2_4.dll"

AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .html .htm

# configure thepath to php.ini

PHPIniDir "%s/php"

""" % (os.path.abspath(".").replace("\\","/"), os.path.abspath(".").replace("\\","/"))
                if os.path.exists(os.path.abspath(".").replace("\\","/")+"/php/php5apache2_4.dll"):
                    line = s_temp + line;
                else:
                    print("###ERROR:Can not find "+os.path.abspath(".").replace("\\","/")+"/php/php5apache2_4.dll")
            #这里是多个站点设置
            elif ‘mod_vhost_alias.so‘ in line:
                line = line.replace("#","")
            #这里是多个站点设置
            elif ‘httpd-vhosts.conf‘ in line:
                line = line.replace("#","")
            else:
                line = line
            f2.write(line);
        f2.close()
        #将apache24添加到服务
        s = os.path.abspath(".").replace("\\","/")+"/"+pathname+‘/bin/httpd.exe -k uninstall -n "Apache24"‘
        os.system(s)
        s = os.path.abspath(".").replace("\\","/")+"/"+pathname+‘/bin/httpd.exe -k install -n "Apache24"‘
        os.system(s)
        print (s)

        os.rename(pathname + "/conf/httpd_new.conf", pathname + "/conf/httpd.conf")

        f = open(pathname + "/conf/extra/httpd-vhosts.conf", "a")
        f.write("""
<VirtualHost *:80>
DocumentRoot "%swww_1_com"
ServerName   www.1.com
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "%swww_2_com"
ServerName   www.2.com
</VirtualHost>
""" % (os.path.abspath(".").replace("\\","/"), os.path.abspath(".").replace("\\","/")))

        os.mkdir("%swww_1_com" % os.path.abspath("."))
        os.mkdir("%swww_2_com" % os.path.abspath("."))
        os.system("net stop apache24 & net start apache24 & pause")

if __name__ == "__main__":
    mo = Moments();
    mo.configApache24("Apache24");
    print "请修改hosts 127.0.0.1 www.1.com"
    print "请修改hosts 127.0.0.1 www.2.com"
    os.system("net stop apache24 & net start apache24 & pause")
时间: 2024-08-05 19:36:00

PHP_环境配置_python脚本_2017的相关文章

egrep、bash环境配置及脚本、vim编辑器

egrep及扩展的正则表达式 egrep = grep -E egrep [options] pattern [file..] 扩展正则表达式的元字符字符匹配.:匹配任意单个字符[[email protected] ~]# grep -E . /tmp/123ABC123boy []:匹配指定范围内的单个字符[[email protected] ~]# grep -E [abc] /tmp/123boyabc [^]:匹配指定范围外的单个字符[[email protected] ~]# grep

bash 环境配置及脚本

bash是 Bourne Again Shell简称 ,从unix系统的sh发展而来 查看当前shellecho $SHELL查看系统支持的shellcat /etc/shells cd /binls -la *sh 一. bash shell的配置变量可分为自定义变量和环境变量他们作用范围不同set 可以查看所有变量set|more 查看 enter一行一行查看set|less enter换行 pagedown换页 q退出 env只能查看环境变量 bash shell的设置方式1.通过自定义变

shell 脚本实战笔记(6)--集群环境配置检测

1). 背景: 集群部署的时候, 需要一致的配置和环境设置. 对于虚拟机集群, 可以借助镜像拷贝, 复制和还原集群机器. 对与物理机集群而言, 则不一样, 如果机器一多, 多人去操作和配置, 对于成熟精干的团队还好, 对于不熟悉环境的小团队, 由于水平的参差不齐, 往往会导致不一致的环境. 因此无论如何, 写脚本进行自动化的配置和环境校验总是最佳实践. 2). 假设应用场景:*) 系统环境: 安装CDH5, 集群规模为16台机器, 每台机器16CPU, 内存16G, 2块SATA盘共500G,

在Fedora下自动配置Java开发环境的bash脚本(适用于使用bash终端的Linux)

JavaSE安装文件的压缩包: jdk-8u11-linux-x64.tar.gz Eclipse文件压缩包: eclipse-jee-luna-R-1403767800374.tar.gz IntelliJ IDEA免费版的压缩包: ideaIC-13.1.4b.tar 安装前的准备工作: 在根目录下新建一个目录/Program,将其设置为当前用户全权限的状态 运行脚本的时候需要在当前用户的目录下(你可以自己修改),安装包文件查找使用的正则请根据需要自行修改 安装Java环境的脚本,(只适用于

基于VMware的eCos环境编译redboot(脚本配置redboot)

基于VMware的ecos,redboot及hello world(1)安装请参照[[ecos学习2]wmware运行redboot[方法二]--图形实现配置 ] (2)修改内存布局文件:~/i386/ecos-3.0$ find . -name "mlt_i386_pc_floppy.ldi"./packages/hal/i386/pc/v3_0/include/pkgconf/mlt_i386_pc_floppy.ldi:~/i386/ecos-3.0$ cd ./packages

服务端测试环境hosts配置检查脚本

问题 由于A测试环境和B测试环境相互耦合,B测试环境切换导致我方测试环境需要更改后台服务器的响应配置.若多台服务器中有一台服务器没有更改配置,则在测试过程中将会出现问题.届时排查由于环境配置不统一引起的环境问题将会费时费力. 思考 测试环境之间的关联配置就是hosts的配置,我们只需要知道A测试环境中各个服务器上的hosts文件中配置的B环境的hosts是否一致即可得出结论. 解决方案 在A测试环境服务器端各个机器的根目录下均安放hosts检查脚本hosts_check.py,内容如下: #!/

python环境配置脚本

!/bin/bash python环境配置脚本 基础计算包 sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib==3.0.3 机器学

Android编译环境配置(Ubuntu 14.04)

常识:编译Android源代码需要在Linux系统环境下进行... 在Linux中,开发Android环境包括以下需求:Git.repo.JDK(现在一般使用OpenJDK)等:其中,Git用于下载源代码:repo是Android项目组编写的用于统一管理Android各个项目的Python脚本程序,目的是使Git的使用更加简单方便. 打开Terminal,执行下述指令: sudo apt-get install git bison flex gperf libxml2-utils mingw32

Vim编辑器,find命令及bash环境配置

1.总结文本编辑工具vim的使用方法: 全屏幕的编辑器:VIM vi: visual interface sed:行编辑器 vi, vi iMproved vim: 模式化: 编辑模式:命令模式 输入模式: 末行模式: 编辑模式 --> 输入模式: i: insert, a:append, o:new line, I: 行首 A:行尾 O:上方新建行 输入模式 --> 编辑模式: ESC 编辑模式 --> 末行模式: : 末行模式 --> 编辑模式 ESC 打开vim: # vim