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了

猜你喜欢

转载自www.cnblogs.com/logchen/p/10346272.html