如何在OVH WebCloud主机上修改php.ini参数
在OVH平台配置PHP发送邮件参数的解决方案
核心问题分析
OVH平台(无论是Platform.sh还是共享主机)都不允许直接修改系统级php.ini,必须通过平台支持的配置文件覆盖PHP参数。你之前放置.platform.app.yaml无效,大概率是位置错误、配置写法不对,或是没触发平台部署流程。
针对Platform.sh环境(使用.platform.app.yaml)
- 确认文件位置:
.platform.app.yaml必须放在项目根目录(与www目录同级),不能放在www子目录下。 - 正确配置示例:在文件中添加PHP参数覆盖规则,适配你的PHP版本和业务需求:
name: app type: php:8.2 # 替换为你实际使用的PHP版本 runtime: extensions: - mail # 确保邮件扩展启用 - mbstring # 按需添加其他必要扩展 # 覆盖php.ini参数 variables: php: sendmail_from: "your-valid-email@your-domain.com" # 替换为你的发件邮箱 sendmail_path: "/usr/sbin/sendmail -t -i" # OVH默认sendmail路径,无需修改 web: locations: "/": root: "www" passthru: "/index.php" # 适配你的项目入口文件
- 触发部署生效:Platform.sh基于Git部署,仅通过FTP上传配置文件不会生效,需要将修改提交到Git仓库并推送到平台远程仓库,等待部署完成后参数才会生效。
针对OVH共享Web Hosting环境
如果是普通共享主机,无需使用.platform.app.yaml,改用.user.ini文件即可:
- 在网站根目录(通常是
www或public_html)创建.user.ini文件。 - 添加需要的配置参数:
sendmail_from = "your-valid-email@your-domain.com"
- 等待5-10分钟让PHP加载新配置,或登录OVH控制面板找到「PHP设置」选项,手动重启PHP进程加速生效。
测试邮件发送
用以下代码验证配置是否生效:
<?php $to = "your-test-email@example.com"; $subject = "OVH PHP邮件测试"; $message = "这是从OVH PHP环境发送的测试邮件。"; $headers = "From: your-valid-email@your-domain.com\r\n"; if(mail($to, $subject, $message, $headers)) { echo "邮件发送成功!"; } else { echo "邮件发送失败,请检查配置或OVH邮件服务限制。"; } ?>
内容的提问来源于stack exchange,提问作者Mateusz Kusmierz
相关产品推荐
相关产品推荐

