提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

前言一、apache相关(httpd)二、PHP相关问题1.调用php时返回5002.html内嵌入php代码时apache不识别

四、almalinux下sendmail的发件问题1.sendmail没生成log2.sendmail发送失败

碎碎念和某些小问题linuxPHPSendMail防火墙

前言

在VM Ware 的AlmaLinux-9虚拟机上搭建 Apache + php8 + mysql8 + php发送邮件遇到很多问题。

安装almalinux-9的步骤就不说了,网上一大堆,我选择的是dvd版本,比较大,VM Ware默认给700M内存,记得调高内存大小,否则安装系统都安不了。 apache安装过程中没有遇到问题,需要注意,在almalinux-9中 它叫httpd而不是apache

另外如果有配置文件和我的路径不一样的,可以通过命令查找

sudo find / -name "改为文件名,文件全名可以去掉两端的引号"

提示:以下是本篇文章正文内容,下面案例可供参考

一、apache相关(httpd)

安装问题就不说了,直接用almalinux的dnf安装就行,网上一大堆。apache很省心,没遇到什么大问题,小问题一百度就有。 可以设置开机自启

sudo systemctl enable httpd

/etc/httpd/conf/httpd.conf是它的配置文件 当更改完php或者apache的配置后,执行下行命令进行重启

service httpd restart

文件的日志默认在 /var/log/httpd 下

二、PHP相关问题

1.调用php时返回500

这个可能和SELinux有关,执行命令,如果SELinux 状态为 Enforcing 或 Permissive,那么它可能是问题的原因

sestatus

这时候执行命令 ,可以临时设置通过

sudo setenforce 0

2.html内嵌入php代码时apache不识别

windows的apache就没这么多事,linux的apache问题是真多,网上很多答案全都没用。

有的改完后访问html后MIME解析出问题全给我下载,很多都是需要有libphp.so这个文件的。 但我php没手动安装(手动安装编译时各种依赖报错,扛不住了),用的是下载源里的8.0版本。

这里是我的改法,建议和我一样没libphp.so,网上方法试了不好用的来尝试一下

首先,找到php-fpm的配置文件,我的是/etc/php-fpm.d/www.conf,如果你不在可以搜一下www.conf 打开后,你会看到有一行;security.limit_extensions = .php .php3 .php4 .php5 .php7 将它改成下面的 去掉前面的 “;” 注释,在后面加入了.html 重启php-fpm服务sudo systemctl restart php-fpm

第二步,在/etc/httpd/conf.d/php.conf中 修改apache的php模块配置内容(网上有的人配置文件在/etc/httpd/conf.modules.d/下 如果我这的路径没有php.conf那你可以换篇文章了)

你可以在php.conf内看到 把其中两个改成 加了|html 具体位置如下图 其实 !mod_php.c 下的貌似不用改,但我一块改了,没影响就行 重启apache服务sudo systemctl restart httpd

最后一步 很多攻略都用到了 在apache的**/etc/httpd/conf**下 加入AddType application/x-httpd-php .html 放到了mime_module 的IfMoudle内

重启apache服务器service httpd restart

四、almalinux下sendmail的发件问题

php.ini 是php的配置文件,我的在/etc/php.ini,里面有sendmail_path= 指定了当调用php自带的mail方法时发送邮件的位置。 由于我是直接用dnf安装的sendmail,路径和php配置文件中默认的路径时是吻合的,不需要更改。 如果你更改了sendmail位置记得更新php.ini。

sendmail的log文件默认在 /var/log/maillog

1.sendmail没生成log

打开 /etc/rsyslog.conf 找到 mail. -/var/log/maillog* 去掉后面 “-” 然后重启sendmailsudo systemctl restart rsyslog 就有了log

2.sendmail发送失败

参考php返回500 设置selinux

碎碎念和某些小问题

linux

linux下 我喜欢用gedit来编辑配置文件

gedit "你的文件"

有些配置文件权限不够,就会暴力的

sudo chmod 777 "文件"

这是个坏习惯,本地可以用用,放生产可别这么搞

当要查询某个文件时 可以使用

sudo find / -name "文件名"

其中 文件名可以正则来写, 记得加sudo,否则某些路径不让你查

备份配置文件很重要 sudo cp "xxx" "xxx_backup" 可别改坏了还没以前的文件

PHP

dnf 安装的PHP 如果你要PDO连接数据库的话,一定要查一下有没有,

php -m | grep pdo

没有的pdo_mysql 不是pdo_sqlite 不是pdo_sqlite 要用dnf额外下载pdo

sudo dnf install php-pdo_mysql

用dnf安装的php,在php.ini里没有 extensions, 不需要像windows和其他一样去掉注释运用模块,一般都靠你自己选择安装。

SendMail

用的虚拟机,本来想把发件邮箱换成自己的,不行。只能虚拟机自己发,很难受。

配置文件: /etc/mail/sendmail.mc 每次配置文件修改完后, 需要 sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 然后重启 sudo systemctl restart sendmail

当你重启sendmail失败时提示了权限相关内容,可以参考这一篇文章第二个方法 https://blog.csdn.net/ahyanwei/article/details/4410551

防火墙

navicat 链接 almalinux里的mysql时 要关闭防火墙,不让不让连

service firewalld stop

相关链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: