• apache+php+mysql安装与使用


    偷个懒,用的系统自带的apache和php

    apache安装与使用

    • Mac自带apache默认路径

      • 主程序 /usr/sbin/httpd
      • 模块 /usr/libexec/apache2
      • 配置 /etc/apach2/
      • 文件根目录 /Library/WebServer/Documents
      • 日志 /private/var/log/apache2/
      • CGI根目录 /Library/WebServer/CGI-Executables
      • 私有配置 /private/etc/apach2
    • 启动httpd

      • 修改配置文件 /etc/apache2/httpd.conf,ServerName localhost:80
      • 启动 sudo httpd -k start,sudo apachectl start
      • 浏览器访问localhost,出现It works!
    • 常用命令

      • 查看模块 httpd -M
      • 测试配置文件 httpd -t
    • 配置默认站点

      • 让apache确定网站文件夹所在位置 DocumentRoot
      • 给文件夹起一个别名,方便用户用名字访问对于的网站 ServerName,端口可以在Listen单独配置
      • 凡是涉及到apache配置文件的修改,需要重启apache才能生效
      • DNS解析:通常默认站点都是本地DNS,hosts文件 /etc/hosts

    配置apache加载php模块

    • apache配置文件中加LoadModule php7_module
    • httpd -t, httpd -M确认
    • 重启apache httpd -k restart
    • apache分配工作给php模块,如果是php代码,交给php处理
      • 配置中加 AddType application/x-httpd-php .php
    • 检查语法,重启apache
    • 访问localhost/index.php
    • 将php的配置文件加载到apache的配置文件中
      • PHPIniDir ''/etc'
      • 将etc/php.ini.default拷贝一份为/etc/php.ini
      • 注意php.ini修改之后需要重启apache生效

    mysql安装与配置

    我是下载的tar包版本,解压之后的操作步骤如下

    # 将文件夹移到/usr/local下
    sudo mv mysql-8.0.13-macos10.14-x86_64/ /usr/local/mysql
    
    # 修改用户用户组
    sudo chown -R root:wheel /usr/local/mysql
    
    # 初始化,注意记录临时root密码
    /usr/local/mysql/bin/mysqld --initialize --user=mysql
    
    # 测试启动,重启,停止,检查状态
    cd /usr/local/mysql
    sudo support-files/mysql.server start
    sudo support-files/mysql.server restart
    sudo support-files/mysql.server stop
    sudo support-files/mysql.server status
    
    # 修改root密码
    mysqladmin -u root -p password root123 
    
    # 登录mysql
    mysql -u root -p
    # 输出密码
    # 成功如下
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 12
    Server version: 8.0.13 MySQL Community Server - GPL
    
    #其他修改root密码的方式
    # 用set password命令
    mysql> set password for root@localhost = password('123');
    # 直接UPDATE编辑user表
    mysql> use mysql; 
    mysql> update user set password=password('123') where user='root' and host='localhost'; 
    mysql> flush privileges;
    
    # 修改PATH环境变量
    PATH=$PATH:/usr/local/mysql/bin
    

    MySQL访问

    是C/S架构,通过客户端,或者通过一些扩展插件

    php连接MySQL数据库

    php本身不具备操作MySQL的能力,需要借助MySQL的扩展实现

    • MAC自带的php7.1.19,已删除mysql扩展
    • 去http://git.php.net/下载mysql扩展
    • 下载对应版本php源码php-7.1.19.tar.gz,解压,进入对应的扩展目目录
    $ phpize 
    grep: /usr/include/php/main/php.h: No such file or directory
    grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
    grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
    Configuring for:
    PHP Api Version:        
    Zend Module Api No:     
    Zend Extension Api No:  
    --------------------- 
    上面问题的解决办法
    
    sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/php /usr/include/php
    
    如果sudo还是没有权限是因为rootless机制,锁定了/system、/sbin、/usr
    重启之后Command+R,实用工具-Terminal-csrutil disable
    
    $ phpize
    Cannot find autoconf. Please check your autoconf installation and the
    $PHP_AUTOCONF environment variable. Then, rerun this script.
    
    这个问题用brew install autoconf即可
    
    ./configure
    make
    make test
    sudo cp module/mysql.so /usr/lib/php/no-debug-non-zts-20160303
    
    • 然后在/etc/php.ini中加入extension=/usr/lib/php/extensions/no-debug-non-zts-20160303/mysql.so
    • 重启apache,sudo apachectl start
    • 再看phpinfo()就已经包含mysql了
  • 相关阅读:
    UVA 11488 Hyper Prefix Sets (字典树)
    UVALive 3295 Counting Triangles
    POJ 2752 Seek the Name, Seek the Fame (KMP)
    UVA 11584 Partitioning by Palindromes (字符串区间dp)
    UVA 11100 The Trip, 2007 (贪心)
    JXNU暑期选拔赛
    计蒜客---N的-2进制表示
    计蒜客---线段的总长
    计蒜客---最大质因数
    JustOj 2009: P1016 (dp)
  • 原文地址:https://www.cnblogs.com/logchen/p/10346272.html
Copyright © 2020-2023  润新知