1. 程式人生 > >Centos 7 PHP開發環境搭建

Centos 7 PHP開發環境搭建

軟體包安裝

安裝Apache

shell# yum install httpd

安裝完成之後使用以下命令檢視Apache版本

shell# apachectl -v

安裝MySQL

由於Centos不再提供MySQL安裝包,需要配置yum源

shell# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
shell# rpm -ivh mysql57-community-release-el7-7.noarch.rpm

接下來安裝MySQL

shell# yum install mysql-community-server

安裝PHP

由於Centos 7提供的PHP版本與需求不一致,需要配置第三方yum源

shell# wget https://mirror.webtatic.com/yum/el7/epel-release.rpm
shell# wget https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
shell# rpm -ivh epel-release.rpm
shell# rpm -ivh webtatic-release.rpm

安裝PHP及一些需要的擴張

shell# yum install php56w php56w-mysqlnd php56w-gd php56w-mbstring

PHP配置

#/etc/php.ini
date.timezone = Asia/Shanghai

MySQL配置

配置預設字符集

#/etc/my.cnf
#在mysqld下新增character_set_server配置引數
[mysqld]
#...
character_set_server=utf8
#...
#新增mysql和client配置項,並設定預設字符集
[mysql]
default-character-set = utf8

[client]
default-character-set = utf8

設定root使用者密碼

啟動mysql服務

shell
# service mysqld start

從/var/log/mysqld.log查詢預設的root使用者密碼

shell# grep 'temporary password' /var/log/mysqld.log

修改密碼

shell# mysqladmin -uroot -p 'old-password' password 'new-password'

配置sql_mode

在開發過程中,因為不全用select字句中的列作為group by字句的引數,因此需要把ONLY_FULL_GROUP_BY配置引數去掉。
在MySQL終端使用以下命令檢視當前的sql_mode配置,將ONLY_FULL_GROUP_BY以外的配置引數複製下來

mysql> select @@GLOBAL.sql_mode

將上面複製下來的內容填寫到MySQL配置檔案中

#/etc/my.cnf
#在mysqld下新增sql_mode配置引數
[mysqld]
#...
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

其他

開放80埠。因為Centos 7預設只開放了ssh訪問埠,想要訪問WEB伺服器,需在iptables中開啟80埠。

shell# iptables -A IN_public_allow -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT

配置httpd開機啟動。安裝Apache服務後並沒有自動將httpd服務新增到開機啟動配置中,因此需手動配置。

shell# systemctl enable httpd

目錄寫入許可權。因為Centos預設開啟SELinux,因此如果想在WEB目錄下寫入檔案(如快取/日誌檔案),則需要給該目錄設定SELinux對應的許可權。如下:

shell# chcon -R -t httpd_sys_content_rw_t runtime
shell# chmod 757 runtime