虽然对php一窍不通,但是,php的环境还是得会搭建的嘛。
今天公司需要搭建php环境,查了些资料,搭建了一个,在这儿做个记录,要是以后再需要的话,我就不需要再找资料了。
我大部分是参考这个文档做的:http://www.cnblogs.com/lufangtao/archive/2012/12/30/2839679.html
1、下载Apache
wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.20.tar.gz
2、安装Apache
tar -zxvf httpd-2.4.20.tar.gz cd httpd-2.4.20 mkdir /usr/local/apache2 ###必须使用--enable-module=shared参数,不然php无法动态加载 ./configure --prefix=/usr/local/apache2 --enable-module=shared
2.1、此时若报错如下
checking for APR... no configure: error: APR not found. Please read the documentation.
解决方法:在Apache APR(http://apr.apache.org/)下载apr和apr-util
2.2、下载、安装apr
wget http://mirror.bit.edu.cn/apache//apr/apr-1.5.2.tar.gz tar -zxvf apr-1.5.2.tar.gz cd apr-1.5.2 mkdir /usr/local/apr ./configure --prefix=/usr/local/apr make make install
2.3、安装pcre
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip tar -zxvf pcre-8.10.zip unzip pcre-8.10.zip cd pcre-8.10 mkdir /usr/local/pcre ./configure --prefix=/usr/local/pcre
2.4、安装apr-utl
wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.4.tar.gz tar -zxvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 mkdir /usr/local/apr-url ./confiure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make make install
2.5、重新编译Apache
./configure --prefix=/usr/local/apache2 --enable-module=shared --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre make && make install
3、若编译成功则启动Apache
cd /usr/local/apache2/bin ./apachectl -k start
4、配置Apache
vim /usr/local/apache2/conf/httpd.conf #找到: AddType application/x-compress .Z AddType application/x-gzip .gz .tgz #在后面添加: AddType application/x-httpd-php .php#使Apcche支持PHP AddType application/x-httpd-php-source .php5 #找到: <IfModule dir_module> DirectoryIndex index.html </IfModule> #添加: <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> #找到: #ServerName www.example.com:80 #修改为: ServerName 127.0.0.1:80或者ServerName localhost:80 #记得要去掉前面的“#” #修改完重启Apache ./apachectl -k restart
5、测试Apache启动是否成功
curl http://localhost
若可以得到It Works!的页面说明Apache安装成功
6、下载php
wget http://cn2.php.net/get/php-7.0.7.tar.gz/from/this/mirror
7、安装php
tar -zxvf php-7.0.7.tar.gz cd php-7.0.7 mkdir /usr/local/php ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs make make test make install cp php.ini-development /usr/local/php/lib/php.ini
8、安装mysql (http://jingyan.baidu.com/article/acf728fd10c3d6f8e510a3ef.html)
yum list installed mysql* rpm -qa | grep mysql* yum install mysql yum install mysql-server yum install mysql-devel #启动mysql服务: service mysqld start #或者 /etc/init.d/mysqld start #开机启动: chkconfig -add mysqld #创建root密码 mysqladmin -u root password 123456
9、修改默认的Web站点目录
默认的目录为 "/usr/local/apache2/htdocs",修改apache的配置文件httpd.conf,比如在新建一个 /home/jhhome的目录作为apache的站点目录
找到DocumentRoot这一行修改为:DocumentRoot "/home/jhhome"
找到 <Directory> 这一行修改为:<Directory "/home/jhhome">
10、测试Web站点目录是否修改成功
vi /usr/jhhome/index.html #写入 hello
10.1、访问我们修改的站点
curl http://localhost
10.2、若出现如下错误:
“You don't have permission to access /index.html on this server.”
10.3、解决方法:
更改文件权限;
chmod 755 index.html
打开apache配置文件httpd.conf,找到<Directory /></Directory>,加入如下内容:(主要是Alow from all,表示允许获取所有)
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Alow from all Satisfy all </Directory>
10.4、修改完重启httpd服务
./apachectl -k restart
10.5、再次测试是否成功
curl http://localhost
得到hello字样,表示修改Web站点目录成功
11、测试php安装是否成功
mv /usr/jhhome/index.html /usr/jhhome/index.php vi /usr/jhhome/index.php #写入 <?php phpinfo(); ?>
12、再次测试是否成功
curl http://localhost
若出现php版本信息,说明php安装成功
13、找到mysql_config路径
find / -name mysql_config
14、重新编译安装php,使php可以支持mysql --with-mysqli后面更mysql_config的路径
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/lib64/mysql/mysql_config make make test make install
15、测试php是否支持mysql
mysql -u root -p #会提示输入密码,就用刚才设置的密码 123456 #如果出现mysql>,说明连接成功了,下面通过命令 创建一个数据库、建一个表,增加一条记录,为后面的测试准备 mysql> create database gywtest; mysql> use gywtest; mysql> create table student(id int(4) not null primary key auto_increment,stuname char(20)); mysql> insert into student(stuname) values('Tom'); Ctrl+c 退出 vim /usr/jhhome/test.php #加入以下内容 <?php $mysqli=new mysqli(); $mysqli->connect('localhost','root','123456','gywtest'); // 创建查询 $sqlstr='select * from student'; //发送查询给MySql $result=$mysqli->query($sqlstr); while($row=$result->fetch_object()) { $name=$row->stuname; echo $name; } ?>
16、再次测试是否成功
curl http://localhost/test.php
若出现tom字样,说明php已支持mysql