欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Linux上php7环境的搭建 Lamp

程序员文章站 2022-06-02 14:29:06
...
注意:我的环境是Ubuntu,Linux的版本不同的话,安装某些插件的时候,命令也会不同
因为里面有些细节和我具体环境不相否,此篇文章是根据http://www.cnblogs.com/lufangtao/archive/2012/12/30/2839679.html改写的,转载请注明出处,谢谢合作。
有什么问题请在下面评论区指出,o(^▽^)o
一、Apache
1、到官网下载 http://httpd.apache.org/download.cgi
2、解压
tar -zxvf httpd-2.2.22.tar.gz
3、建立目标文件夹(注意以下所有操作都时在root用户下执行的)
mkdir /usr/local/apache2
也就是说等下安装的apache2要安装到这个文件夹里面
4、配置
回到原来解压之后产生的文件夹
./configure --prefix=/usr/local/apache2 --enable-module=shared
要加上后面的参数,否则无法使用php,-enable-module=shared表示Apache可以动态的加载模块
到这一步出现了很多问题:
1).checking for APR... no
configure: error: APR not found. Please read the documentation.
分别安装APR和APR-util,安装方法为:首先下载这两个文件,然后解压,进入解压后目录,然后把APR和APR-util分别安装到/usr/local/文件夹的apr和apr-util文件夹下。APR的具体安装方法为:
[root@localhost 52lamp]# tar -zxvf apr-1.4.2.tar.gz //unzip -o apr-1.4.2.zip
[root@localhost 52lamp]# cd apr-1.4.2
[root@localhost apr-1.4.2]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.4.2]# make
[root@localhost apr-1.4.2]# make install
安装Apr-util 在./confiure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
其他步骤类似。
最后再切换到httpd那个文件夹的目录,执行 ./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
2).在上一步中,中途会出现很多问题
①安装c++的环境,sudo apt-get install build-essential (安装前需要先更新源,在/etc/apt/source.list下,然后执行sudo apt-get update)
②如果出现来安装上那三个东西还找不到,就把最后一句改成./configure --prefix=/home/tnuser/apache/ --with-apr=/home/tnuser/apr/ --with-apr-util=/home/tnuser/apr-util/ --with-pcre=/home/tnuser/pcre/ 指定三个东西的位置
5、编译
make
6、安装
make install
7、启动,重启和停止 ,先切换到安装完成后的目录/usr/local/apache2/bin
./apachectl -k start
./apachectl -k restart
./apachectl -k stop
8、配置文件(满足最基本的配置)
编辑 /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)
找到:

DirectoryIndex index.html

添加:

DirectoryIndex index.html index.php

找到:
#ServerName www.example.com:80
修改为:
ServerName 127.0.0.1:80或者ServerName localhost:80
记得要去掉前面的“#”
注意这个地方需要很多Linux文件操作的知识,具体命令请参考http://www.cnblogs.com/88999660/articles/1581524.html
附:删除当前行dd
9、测试
在浏览器里输入http://127.0.0.1
如果出现It Works!说明成功
10、修改默认的Web站点目录
默认的目录为 "/usr/local/apache2/htdocs",修改apache的配置文件httpd.conf,比如在新建一个 /home/gyw/WebSite的目录作为apache的站点目录
找到DocumentRoot这一行修改为:DocumentRoot "/home/gyw/WebSite"
找到 这一行修改为:
测试:修改到文件夹出现错误:
“You don't have permission to access /index.html on this server.”
解决方法:
打开apache配置文件httpd.conf,找到这么一段:

Options Indexes FollowSymLinks
AllowOverride None

这里的Directory为什么这样修改,看一下http://blog.sina.com.cn/s/blog_6151984a0100f1tj.html
虽然最后我也没看明白= =
二、安装PHP

1、 下载
http://www.php.net/downloads.php
2、解压
tar -zxvf php-7.0.3.tar.gz,这里的版本按照自己需求来,可不同。
3、建立目标文件夹
mkdir /usr/local/php
也就是说等下安装的php要安装到这个文件夹里面
4、配置
回到原来解压后的文件夹
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
注意这里有一个-with-apxs2=/usr/local/apache/bin/apxs选项,其中apxs是在安装Apache时产生的,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。我的理解是通过这个工具把PHP模块动态加载到Apache中
出现错误:configure: error: xml2-config not found. Please check your libxml2 installation.
sudo apt-get install libxml2
sudo apt-get install libxml2-dev
5.make && make install
6. cp /home/xx/Downloads/php-7.0.3/php.ini-development /usr/local/php/lib/php.ini
三、安装MySql
1、下载
到官网下载mysql-5.1.65.tar.gz(注意是源码包),选择MySql Community Sever之后在下面选择Source Code,这里我下载的是最新的版本mysql5.7,要用cmake来安装
2、解压
tar -zxvf mysql-5.1.65.tar.gz,如果是5.2以下的直接就可以./configure 来安装,以上的话需要用cmake来安装
3、建立目标文件夹
mkdir /usr/local/mysql
也就是说等下安装的mysql要安装到这个文件夹里面
4、配置
用cmake来配置安装mysql,首先先下载cmake,
apt-get install cmake
tar -zxvf mysql-5.5.14.tar.gz
cd mysql-5.5.14
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
错误:
1)CMake Error at cmake/boost.cmake:81 (MESSAGE):
解决:没有boost包,在预编译时添加相应的选项:cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
2)CMake Error at cmake/readline.cmake:64 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
解决:① Linux几乎每个发行版都会有'ncurses'及'ncurses-devel'的安装包的,再根据上面第二条命令错误提示,“现在没有可用的软件包 ncurses,但是它被其它的软件包引用了。” 可以判定Ubuntu软件管理器服务端有作修改过。所以到 Ubuntu Package archive(http://packages.ubuntu.com/)搜索是否存在该安装包,用'ncurses-devel'作为关键字搜索,没有任何结果。搜索'ncurses'出现了很多返回结果。根据每个返回搜索结果的说明可以发现在Ubuntu中'ncurses-devel'是以'libncurses5-dev'命名的。
# sudo apt-get install libncurses5-dev (安装过程没有提示任何错误,安装成功)
②删除CMakeCache.txt
通过find命令找到所有CMakeCache.txt文档的位置
#find / -name CMakeCache.txt
然后全部删除:
# rm -rf /usr/local/src/cmake-2.8.6/Tests/Complex/Cache/CMakeCache.txt
# rm -rf /usr/local/src/cmake-2.8.6/Tests/ComplexOneConfig/Cache/CMakeCache.txt
# rm -rf /usr/local/src/cmake-2.8.6/Tests/ComplexRelativePaths/Cache/CMakeCache.txt
# rm -rf /usr/local/src/mysql-5.5.18/CMakeCache.txt
。。。。。。。
全部删除后再重新cmake就OK了。
5、编译安装
make&& make install
6.
切换到/usr/local/mysql/bin目录,执行./mysqld --initialize --datadir=/usr/local/mysql/data/ 要之前新建后面这个data目录,这时候会出现几行代码,最后一个代码的临时密码一定要记住,我就因为没记住,就重装了一遍mysql,我真是醉了。
然后改密码:./mysqladmin -u root -p password
进入mysql,执行mysql -u root -p
为了测试,执行以下代码:
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');
四。将PHP与MySql结合起来
http://www.111cn.net/sys/linux/69046.htm

以上就介绍了Linux上php7环境的搭建 Lamp,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。