zoukankan      html  css  js  c++  java
  • 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了
  • 相关阅读:
    事件对象
    type of 操作符和instanceof操作符的区别以及使用方法
    JS:XML
    JS:事件处理程序
    JS:event对象下的target属性和取消冒泡事件
    JS:callee属性
    JS:call()和apply的区别
    JS:事件对象1
    DOM元素的大小和位置
    CSS:在IE浏览器下,元素下沉一行的解决办法
  • 原文地址:https://www.cnblogs.com/logchen/p/10346272.html
Copyright © 2011-2022 走看看