从零迁移 Windows 平台下的 Wamp Server 迁移至 Linux 平台下的 Apache + PHP 环境(三)安装 PHP 7 服务器

本文详细介绍了如何在Linux环境下安装和配置PHP7.3,包括必要的依赖组件,以及如何与Nginx和Apache服务器结合使用。涵盖了下载安装包、编译配置、Apache模块加载、服务启动及开机启动设置等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文献:https://blog.youkuaiyun.com/liyyzz33/article/details/87881310
一、安装php依赖组件(包括Nginx依赖,这里加上了我总结的一些其他组件)

yum -y install php-mcrypt libmcrypt-devel libxml2 libxml2-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel libxslt libxslt-devel cyrus-sasl-plain cyrus-sasl cyrus-sasl-devel cyrus-sasl-lib m4 autoconf expat-devel apr apr-devel gcc gcc-c++ openssl openssl-devel pcre pcre-devel zlib zlib-devel wget net-tools zip

二、下载并安装PHP安装包
使用wget或从官网地址:http://www.php.net/downloads.php 下载php-7.3.6.tar.gz 安装包

tar -zxvf php-7.3.6.tar.gz
cd php-7.3.6/

三、编译
在编译前,先查看/etc/ld.so.conf 文件中是否有lib库搜索路径,(如果没有,编译php时会抛错:configure: error: off_t undefined; check your library configuration)

more /etc/ld.so.conf
vi /etc/ld.so.conf

没有则在里面加入lib的文件路径后保存

/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64

----保存完毕更新配置

ldconfig –v

安装unixODBC-2.3.0
通过wget方式或从此地址:http://www.unixodbc.org/ 下载安装包,我的安装包放在了root目录下

cd /root/
tar -zxvf unixODBC-2.3.7.tar.gz
cd unixODBC-2.3.7/
./configure
make && make install

安装unixODBC-devel

yum -y install unixODBC-devel

安装libzip-1.3.2
通过wget方式或从此地址:https://libzip.org/download/libzip-1.3.2.tar.gz 下载安装包,我的安装包放在了root目录下

cd /root/
tar –zxvf libzip-1.3.2.tar.gz
cd libzip-1.3.2/
./configure
make && make install

至此,准备工作已完成,现在开始切回PHP安装目录,对php进行编译安装
编译时,我需要与Apache结合,所以编译时需要加入这一行:–with-apxs2=/usr/local/apache2/bin/apxs(下面命令我已经将此行加入,=号后面为Apache路径),我在 Windows 下的Wamp Server里面使用的 odbc_connect 连接到SQL Server 2008 的数据,所以需要加入这两行 --with-unixODBC=/usr/local/unixODBC --with-pdo-odbc=unixODBC,/usr/local/unixODBC ,后面为unixODBC的安装路径

cd /root/php-7.3.6/

以下是配置详情

./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-curl \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-openssl \
--with-pcre-regex \
--with-pdo-sqlite \
--with-pear \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip \
--enable-static \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--disable-debug \
--disable-fileinfo \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-unixODBC=/usr/local \
--with-pdo-odbc=unixODBC,/usr/local

无报错,开始安装(如果还提示:configure: error: off_t undefined; check your library configuration,再更新一次配置即可–ldconfig -v)

make && make install

四、配置PHP

cp /root/php-7.3.6/php.ini-production /usr/local/php7/etc/php.ini
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
cp /root/php-7.3.6/sapi/fpm/php-fpm.service /usr/lib/systemd/system/php-fpm.service
cp /usr/local/php7/bin/php /usr/local/bin/php

----启动服务

systemctl start php-fpm.service

----添加服务到开机启动

systemctl enable php-fpm.service

五、配置Apache支持PHP
更改Apache配置文件支持PHP

vim /usr/local/apache2/conf/httpd.conf

找到加载模块项,将其中php7_module注释(删除前面的 # )打开

LoadModule php7_module        modules/libphp7.so

然后在根节点中添加以下配置

<IfModule php7_module>
    AddType application/x-httpd-php .php
</IfModule>

----保存并重启Apache服务

systemctl restart httpd

六、验证是否正常使用
编辑php配置文件,我的位置在 /usr/local/php7/etc/php.ini,打开odbc扩展和开启页面显示错误信息

vim /usr/local/php7/etc/php.ini

删除 extension=odbc 和 extension=pdo_odbc 前面的分号(取消注释),并更改display_errors = off

extension=odbc
extension=pdo_odbc
display_errors = Off

查看Apache应用目录位置

more /usr/local/apache2/conf/httpd.conf

找到DocumentRoot节点,其中引号扩起来的目录就是应用目录位置,这个可以更改到你想要的位置,改完重启一下服务就可以生效,我的目录为/usr/local/apache2/htdocs,所以我在这个目录下新建一个index.php的测试文件

vim /usr/local/apache2/htdocs/index.php

–添加内容并保存

<?php phpinfo();?>

在浏览器中输入 IP 地址进行访问
我用http://10.102.7.169/index.php这个带文件名的地址去访问,是因为Apache有默认页面配置,如果我直接用 IP 地址访问,会访问到HTML页面,而不是刚写的PHP页面,从而达不到测试的效果。
这个默认配置也可以在httpd.conf配置文件中的节点中去修改,从左往右的顺序,修改完成重启一下服务即可
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值