linux学习笔记7(PHP安装)

2023-10-27

49、安装PHP
  PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。 PHP同时支持面向对象和面向过程的开发,使用上非常灵活。
  
  PHP是一个受众大并且拥有众多开发者的开源软件项目,Linux + Nginx + Mysql + PHP是它的经典安装部署方式,相关的软件全部都是开源免费的,所以使用PHP可以节约大量的正版授权费用。

PHP的安装需要apache 和mysql两个基础环境
第一步:查看是否安装apache和mysql
1、rpm -qa |grep mysql
   rpm -qa |grep httpd
2、netstat -atunp |grep mysql
   netstat -atunp |grep httpd
3、ps -ef |grep mysql 
   ps -ef |grep httpd
4、lsof -i :3306
   lsof -i :80
   
查看是否有apxs:
rpm -ql httpd-devel |grep 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 libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2 libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel openssl-devel libxslt-devel -y

第四步:编译安装。
./configure --prefix=/usr/local/php8 --with-apxs2=/usr/bin/apxs --with-mysql=/usr/share/mysql --with-xmlrpc --with-openssl --with-zlib --with-freetype-dir --with-gd --with-jpeg-dir --with-png-dir --with-iconv --enable-short-tags --enable-sockets --enable-zend-multibyte --enable-soap --enable-mbstring --enable-static --enable-gd-native-ttf --with-curl --with-xsl --enable-ftp --with-libxml-dir
参数说明:
   参数                            说明
--prefix=/usr/local/php-8     指定PHP程序安装目录
--with-apxs2=/usr/bin/apxs    调用apache2
--with-mysql=/usr/share/mysql 调用mysql
--with-xmlrpc                 打开XML-RPC的C语言
--with-openssl                打开openssl支持
--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                    打开xslt文件支持
--enable-ftp                  开启FTP支持
--with-libxml-dir             打开libxml2库的支持

注意:mysql调用路径:
data默认放在:/var/lib/mysql
mysql默认安装在了:/usr/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存放文件目录

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux学习笔记7(PHP安装) 的相关文章

随机推荐

  • 生草shader的几种方法总结

    草地shader一直是shader效果的热门主题 实现草地效果 结合了集合绘制 顶点动画 光照很多shader编程的技巧 这里总结一下我在网上查到博客的几种实现方案 我居然拖了一年还没有写完 woc 反正也没有人看 先发一个 第一位是che
  • 怎么采集dedecms自定义内容模型

    有时我们需要用到dedecms提供的自定义内容模型功能去添加自定义内容模型来满足需求 那么dedecms自定义内同模型怎么添加采集规则呢 打开 dede templets co add step0 htm 找到如下代码 19行左右
  • 软考高级之系统架构师之企业应用集成EAI

    概述 在企业信息化建设的过程中 由于缺乏统一规划和总体布局 往往形成多个信息孤岛 信息孤岛使数据的一致性无法得到保证 信息无法共享和反馈 需要重复多次的采集和输入 信息孤岛是企业信息化一个重要的负面因素 其主要原因既有技术因素也有管理因素
  • 云服务器创建win10虚拟机吗,云服务器创建win10虚拟机

    云服务器创建win10虚拟机 内容精选 换一换 弹性云服务器 Elastic Cloud Server 以下简称ECS 是由CPU 内存 镜像 云硬盘组成的一种可随时获取 弹性可扩展的计算服务器 同时它结合VPC 虚拟防火墙 数据多副本保存
  • 深度优先搜索(DFS)

    算法入门 郭志伟 SYSU raphealguo at qq com 2012 05 12 1 前言 深度优先搜索 缩写DFS 有点类似广度优先搜索 也是对一个连通图进行遍历的算法 它的思想是从一个顶点V0开始 沿着一条路一直走到底 如果发
  • 记录一个接口. 接口同时传输参数和很多流的情况

    和一个保险系统的对接 文本类型的参数咱不多说 因为接口数据源是保险订单和保险理赔 所以需要传输一些图片和视频信息 比如说合同发票 定损图片和视频等等 这种需求的处理比较合适的方案是约定一个FTP SFTP服务器 然后参数中还传递文件的路径和
  • php的debug显示不全,【已解决】VSCode调试PHP时无法显示长字符串变量完整值

    折腾 未解决 php中用正则过滤html中code中多余span标签 期间 用VSCode去调试PHP期间 发现个问题 对于变量的值 如果很长的话 右键拷贝出来的值 只有一部分 不是完整的字符串 鼠标移动上去显示出来的效果 内容不完整 右键
  • oracle索引的监控

    author skatetime 2009 08 21 最近的研究发现 Oracle 数据库所使用的索引从来没有达到过可用索引数的1 4 或者其用法与其开始设计的意图不相同 未用的索引浪费空间 而且还会降低 DML 的速度 尤其是 UPDA
  • 警告: Exception encountered during context initialization - cancelling refresh attempt: org.springfram

    org springframework context support AbstractApplicationContext refresh 警告 Exception encountered during context initializ
  • 年终盘点一

    作者 阿里云云原生团队 受访嘉宾 阿里云智能 云原生 应用平台负责人 丁宇 阿里云智能容器服务负责人 易立 阿里云智能云原生应用平台产品负责人 李国强 阿里云智能中间件技术负责人 胡伟琪 阿里云智能Serverless研发负责人 杨皓然 Q
  • Mysql——使用字符集以及校对

    一 字符集 1 查看mysql支持的所有字符集 show character set 2 查看指定数据库的字符集 show variables like character 这八种情况分别对应 1 设置客户端使用的字符集 2 设置链接数据库
  • 如何将vscode设置成中文字体

    场景 最近不知道怎么的 vscode总是会自动跳回英文字体 明明已经下载过中文的字体了 解决方案 快捷键
  • PID调参过程详解(包括增量式和位移式)

    转载于https blog csdn net wangweijundeqq article details 76389770 位置闭环控制就是根据编码器的脉冲累加测量电机的位置信息 并与目标预设值做比较 得到控制偏差 然后通过对偏差的P比例
  • 容器查看与删除

    lcc lcc docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ad424be7a46b mysql docker entrypoint s About an
  • 部分手机拍照屏幕旋转, 导致imageview不能显示的问题???

    在项目开发的过程中 碰见了一个非常诡异的事情 拍照之后的imageview不能正常显示图片 从而导致十行代码中间的几句代码不执行 不执行 不执行 代码中包括imageview setImageBitmap bitmap 一度认为这个bitm
  • Leetcode_146. LRU 缓存

    C语言纯暴力解法 能AC我没想到 typedef struct int key int val int time LRUCache int g cap 全局变量记录缓存容量 int g time 利用全局变量更新put和get操作时关键值的
  • 常见的服务器部署SSL证书的安装方法介绍

    很多网络管理员对于SSL证书安装还是处于一个比较懵懂的状态 不同的服务器部署SSL证书方法也不一样 但是步骤确是类似的 生成证书请求文件 CRS 向CA机构申请SSL证书 下载证书 然后根据不同的系统安装部署SSL证书 最后测试证书 下面根
  • Windows下 flex + bison 小例子

    下载flex和bison 网址是http gnuwin32 sourceforge net packages flex htm 和http gnuwin32 sourceforge net packages bison htm 如果这两个链
  • MySQL数据库的安装、创建库、创建表、向数据库添加测试数据及连接取数、遍历输出数据库查询结果ResultSet、使用“Class.forName(JDBC_DRIVER);”来注册加载驱动的原因

    MySQL数据库的安装 创建库 创建表 向数据库添加测试数据及连接取数 MySQL数据库简介 Java对于数据库常用操作的封装 安装MySQL数据库 下载MySQL安装包 Linux MySQL在ubuntu Linux下的多版本选择 DE
  • linux学习笔记7(PHP安装)

    49 安装PHP PHP PHP Hypertext Preprocessor 即 超文本预处理器 是在服务器端执行的脚本语言 尤其适用于Web开发并可嵌入HTML中 PHP语法学习了C语言 吸纳Java和Perl多个语言的特色发展出自己的