49、安装PHP
PHP(PHP: Hypertext
Preprocessor)即*超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于web开发并可
嵌入HTML中。PHP语法学习了c语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,
并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标
是让开发人员快速编写出优质的web网站。
PHP同时支持面向对象和面向过程的开发,使用上非常灵活。
PHP是一个受众大并且拥有众多开发者的开源软件项目,Linux + Nginx + Mysgl +
PHP是它的经典安装部署方式,相关的软件全部都是开源免费的,所以使用PHP可以节约大量的
正版授权费用。
PHP的安装需要apache 和mysql两个基础环境
第一步:查看是否安装apache和mysql
1、rpm -ga Igrep mysql
rpm -ga Igrep httpd
2、netstat -atunp Igrep mysql
netstat _atunp Igrep httpd
3、ps -ef Igrep mysql
ps -ef Igrep httpd
4、1sof -i :3306
1sof -i :80
查看是否有apxs:
rpm -ql httpd-devel Igrep apxs
find /-name "apxs"
如果没有apxs,安装httpd-devel:yum install httpd-devel
第二步:上传到服务器后,解压到指定目录
tar -zxvf php-8.1.4.tar.gz -C /usr/local/
第三步:安装依赖包:
yum install zlib libjpeg freetype libpng gd curl libiconv zlib-devel libxm12
libxm12-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel
openssl-devel libxsit-devel -y
第四步:编译安装。
参数说明:
参数 说明
--prefix=/usr/local/php-8 指定PHP程序安装目录
--with-apxs2=/usr/bin/apxs 调用apache2
--with-mysql=/usr/local/mysql 调用mysql
--with-xmlrpc 打开XML-RPC的C语言
--with-openssl 打开openss1支持
--with-zlib 打开zlib库的支持
--with-freetype-dir 打开对FreeType字体库的支持
--with-gd 打开GD库的支持
--with-jpeg-dir 打开对JPEG图片的支持。
--with-png-dir 打开对PNG图片的支持
--with-iconv 开启iconv函数,完成各种字符集间的转换
--enable-short-tags 开启开始和标记函数
--enable-sockets 开启sockets支持
--enable-zend-multibyte 开启zend的多字节支持
--enable-soap 开启soap模块
--enable-mbstring 开启mbstring库的支持
--enable-static 生成静态链接库
--enable-gd-native-tty 支持Truetype字符串函数库
--with-curl 打开curl浏览工具的支持
--with-xsl 打开xs1t文件支持
--enable-ftp 开启FTP支持
--with-libxml-dir 打开libxm12库的支持
注意:mysql调用路径:
data默认放在:/var/lib/mysql
mysql默认安装在了:/susr/share/mysql中
报错解决方案:
configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
原因: 在Centos8环境中配置php-7.4.19出现如上错误是因为缺少sqlite相关库
解决方法如下
yum install sqlite-devel
configure: error: Package requirements (oniguruma) were not met:No package 'oniguruma' found
解决:
wget http://www6.atomicorp.com/channels/atomic/centos/7/x86_64/RPMS/oniguruma-5.9.5-3.el7.art.x86_64.rpm
yum localinstall oniguruma-5.9.5-3.el7.art.x86_64.rpm
wget http://www6.atomicorp.com/channels/atomic/centos/7/x86_64/RPMS/oniguruma-devel-5.9.5-3.el7.art.x86_64.rpm
yum localinstall oniguruma-devel-5.9.5-3.el7.art.x86_64.rpm
make && make install
第五步:安装完成后:
复制配置文件到安装目录
cd /usr/local
cp php-8.1.4/php.ini-production php8/lib/php.ini
第六步:配置apache支持PHP程序
修改apache的配置文件:
修改前备份:cp httpd.conf httpd.conf.bak
修改内容:
1、
User php
Group php
2、# If your host doesn't have a registered DNS name, enter its IP address here.
ServerName localhost:80
3、<IfModule dir_module>
DirectoryIndex index.php index.html 404.html
</IfModule>
4、 # If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
第七步:测试配置
/usr/bin/apachectl -t # -t:运行配置文件的语法检查
如果报错,说明没有php用户,解决办法就是新增php用户
useradd php -s /usr/bin/nologin -M
#-s表示指定用户所用的shell,此处为/bin/nologin,表示不登录。-M表示不创建用户主目录。
再次检查:/usr/bin/apachectl -t
Syntax ok
/usr/bin/apachectl graceful 刷新服务,不中断连接。
检查进程:ps -ef |grep httpd
第八步:查看PHP模块
cd /etc/httpd/conf
grep php httpd.conf
第九步:配置测试首页文件
在apache的发布目录:/var/www/html 中
vim index.php
写入: <?php
phpinfo();
?>
保存后退出,在浏览器输入服务器IP测试。
PHP目录结构:
├── bin #命令程序目录
├── include #包含文件目录
├── lib #库文件目录
├── php #存放PHP相关文件目录
└── var #日志、PID存放文件目录