1. 程式人生 > >apache+php+mysql安裝與使用

apache+php+mysql安裝與使用

server commands name install pac 數據 tor ica -h

偷個懶,用的系統自帶的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了

apache+php+mysql安裝與使用