centos7.9安装PHP运行环境

news2025/1/26 11:57:54

MySQL安装

报错:源 "MySQL 8.0 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。

解决:

yum install mysql-server -y --nogpgcheck

查询初始密码

grep 'temporary password' /var/log/mysqld.log

PHP及sqlsrv扩展安装

微软官方

Linux and macOS Installation for the Drivers for PHP - PHP drivers for SQL Server | Microsoft Learn

其他教程参考:

php7.3 centos7.9安装sqlserver扩展_centos php sqlserver-CSDN博客

这个教程可能会报错:undefined symbol: php_pdo_register_driver in Unknown on line 0

解决方案是  将pdo_sqlsrv放到 pdo.ini中去

vi /etc/php.d/20-pdo.ini

# 末尾增加一行
extension=pdo_sqlsrv

sqlsrv正常添加到 /etc/php.ini 中即可。

vi /etc/php.ini

# 找到有  extension=XXXXXX.so 的地方 添加即可
extension=sqlsrv.so

ODBC18安装

Install the Microsoft ODBC driver for SQL Server (Linux) - ODBC Driver for SQL Server | Microsoft Learn

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#RHEL 7 and Oracle Linux 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo

sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install -y unixODBC-devel

SSL连接报错

解决方案:跳过SSL校验

$DB_SQLSERVER = array(
    'db_type'  => 'sqlsrv',
	'db_user'  => 'xxxx',
	'db_pwd'   => "xxxx",
	'db_host'  => 'xxxxxxx',
	'db_port'  => '1433',
	'db_name'  => 'xxxxx',
	'db_charset' => 'UTF8',
	'db_params'  => array('PDO::ATTR_CASE' => 'PDO::CASE_UPPER'),

	// 解决报错:[08001] [Microsoft][ODBC Driver 18 for SQL Server]SSL 提供程序: 证书链是由不受信任的颁发机构颁发的
	'db_dsn' => 'sqlsrv:Database=数据库名称;Server=IP,端口号;TrustServerCertificate=true',
);

$sql = "";
$result = M(null,null,$DB_SQLSERVER)->query($sql);

Nginx连接PHP

Nginx安装就不说了。这里记录下遇到的问题:浏览器请求始终返回 File not found.

查询nginx日志error.log:

FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.188.1, server: localhost, request: "GET /index.php/Wap/Test/test HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.188.130"

排除以下原因后,依然报错。

进一步验证,直接在 nginx配置的root目录下 创建静态文件 test.txt,赋予(chmod 777)权限,依然一样。说明是nginx本身问题。(我之前一直以为是php-fpm问题)

同时 nginx安装的默认首页又是能访问的。改成自己的项目地址,就不对了。

文件确认存在,路径配置正确,赋予所有用户及用户组可以访问权限,最后还是访问不到。说明就是文件权限问题了。

解决方案:关闭 selinux 即可。它的作用简单说就是:增强型访问控制,限制到最小访问权限。

# 临时关闭,重启系统后还会开启
setenforce 0


# 永久关闭:输入命令
vi /etc/selinux/config

# 设置值为disabled即可。重启生效。
SELINUX=disabled

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1674925.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot实现 QQ邮箱验证码

SpringBoot实现 QQ邮箱验证码 文章目录 SpringBoot实现 QQ邮箱验证码一、开通SMTP校验码1.登录qq邮箱2.开启SMTP服务3.发送手机短信4.得到授权码 二、回到spring项目中1.导入所需依赖2.验证码工具类3.具体实现逻辑(serviceimpl) 三、测试qq邮箱验证码 一、开通SMTP校验码 1.登…

基于Java+SpringBoot+vue+elementui 实现猜灯谜答题抽奖系统

目录 系统简介效果图1、手机答题端2、后台系统管理 源码结构源码下载地址技术交流 博主介绍: 计算机科班人,全栈工程师,掌握C、C#、Java、Python、Android等主流编程语言,同时也熟练掌握mysql、oracle、sqlserver等主流数据库&…

Linux环境变量详解

文章目录 1. 前言2 什么是PATH环境变量3. 如何添加PATH环境变量4. 系统中的其他环境变量5. 环境变量的由来6. 环境变量的基本操作6.1 设置环境变量6.2 通过getenv获取环境变量6.3 环境变量的应用场景 7. 通过命令行参数获取环境变量 1. 前言 本篇文章将以PATH环境变量为例来对整…

CSP备考---位运算

前言 本期我们将学习位运算,与本期类型的考点(二进制转换)反码、补码、原码。 1、位运算是什么 首先我们需要先了解位运算是什么。 我们知道,计算机中的数在内存中都是以二进制形式进行存储的 ,而位运算就是直接对整…

J-STAGE (日本电子科学与技术信息集成)数据库介绍及文献下载

J-STAGE (日本电子科学与技术信息集成)是日本学术出版物的平台。它由日本科学技术振兴机构(JST)开发和管理。该系统不仅包括期刊,还有论文集,研究报告、技术报告等。文献多为英文,少数为日文。目前网站上所发布的内容来…

通过windows远程桌面,远程连接CentOS系统

1.配置阿里云的YUM仓库 1.1 备份当前的YUM仓库配置文件 sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup1.2 下载阿里云的CentOS仓库配置文件 对于CentOS 7: sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirr…

Java RMI反序列化总结篇-01

1.java rmi反序列化 RMI 允许一个应用程序访问另外一个服务器或虚拟机上的对象,方法和服务,它使远程方法调用就像在本地调用一样简单。它为用户屏蔽了底层的网络传输细节,使用的时候只需适当处理异常即可。所以 RMI 是非常容易使用的&#x…

uniapp开发安卓app使用文字转语音技术

在 UniApp 开发安卓应用时,要实现文字转语音(Text-to-Speech, TTS)技术,你可以利用 UniApp 的跨平台能力结合原生模块或第三方服务来实现。以下是一些建议的步骤和方法: 1. 使用 UniApp 原生模块(如果支持…

Linux中的磁盘分析工具ncdu

2024年5月14日,周二上午 概述 ncdu 是一个基于文本的用户界面磁盘使用情况分析工具。它可以在终端中快速扫描目录,并统计该目录下的文件和文件夹的磁盘使用情况,以交互友好的方式呈现给用户。 安装 在 Debian/Ubuntu 系统下,可…

Linux的命名管道 共享内存 信号量

目录 命名管道 mkfifo函数 unlink函数 命名管道类 服务端 客户端 共享内存 shmget函数 ftok函数 key和shmid的区别 snprintf函数 ipcs指令 ipcrm指令 shmctl函数 shmat函数 void*做返回值 创建共享内存空间 服务端 客户端 信号量 命名管道 基本概念&a…

Unity使用sherpa-onnx实现离线语音合成

sherpa-onnx https://github.com/k2-fsa/sherpa-onnx 相关dll和lib库拷进Unity,官方示例代码稍作修改 using SherpaOnnx; using System; using System.IO; using System.Runtime.InteropServices; using UnityEngine;public class TTS : MonoBehaviour {public st…

基于java 自定义注解Annotation设计简单ORM框架——进阶篇

目录 引言实例新建两个注解标注实体类拼接sql语句 总结 引言 一般Java规范编程(只是一种习惯,而不是强制)中,变量的命名方式一般采用驼峰式命名。比如userName,userImage。但是在数据库中一般不会采用驼峰式&#xff…

工业物联网解决方案:机房动环监控系统

工业物联网解决方案:机房动环监控系统 工业物联网(IIoT)作为数字化转型的关键驱动力,正深刻改变着各行各业的运作模式,其中机房动环监控系统是实现智能化运维管理的重要组成部分。该系统通过集成传感器技术、大数据分…

位图(c++)

文章目录 1.位图概念2.位图的实现3.应用(解决整形存在或次数问题)3.1存在问题3.2次数问题 5.搜索的方法对比: 1.位图概念 和哈希一样,都是一个表来记录某个元素的个数或者存在与否;不同的是哈希使用的计算机定义的完整…

跨境必看|TikTok账号运营的八大秘籍

国内的传统生意都是可以在抖音上做,那么也可以在TikTok 上重新做一遍。那该如何才能把握住这片巨大的蓝海,TikTok 账号的运营就成为了主要的关键了,对于TikTok账号运营的八大秘籍,大家一起看看是如何做的? 一、固定节…

部署管理征信链码

一 . 链码准备 需要删除上面后面标记的文件,之后拖入 二. 打包链码 注意需要先启动链 打包测试链码 export FABRIC_CFG_PATH${PWD}/config peer lifecycle chaincode package ./chaincode/chaincode_basic.tar.gz --path ./chaincode/credit_chaincode --lang n…

VMware虚拟机安装详细教程

VMware下载安装好后,下载好我们要安装的操作系统的镜像文件后,此处安装的为centos7版本,就可以开始安装了。 1点击下一步 image 2、勾选【我接受条件款协议中的条款】,然后点击【下一步】。 image 3、取消勾选,然后点…

【瑞萨RA6M3】1. 基于 vscode 搭建开发环境(后续)

编译 mkdir build cd build cmake .. -G"Unix Makefiles" make -j或者 cmake -Bbuild -G"Unix Makefiles" cmake --build build创建快捷指令: 删除 .vscode/tasks.json, 存储占用和生成 MAP 编译完成后,打印内存占用…

大数据可视化实验(五):Tableau数据可视化

目录 一、实验目的... 1 二、实验环境... 1 三、实验内容... 1 1)打开数据源... 1 2)进入工作簿... 2 3)字段设置... 2 4)数据筛选... 3 5)绘制条形图... 3 四、思考问题... 4 五、总结与心得体会... 4 一、…

04-单片机商业项目编程,从零搭建低功耗系统设计

一、本文内容 上一节《03-单片机商业项目编程,从零搭建低功耗系统设计-CSDN博客》我们确定了设计思路,并如何更有效的保持低功耗,这节我们就准备来做软件框架设计。在AI飞速发展的时代,我们也会利AI来辅助我们完成,让自…