You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Simfatic\FormHandler在Hostinger报错本地正常:找不到CommonValidations

部署Simfatic FormHandler到Hostinger后找不到CommonValidations类的调试建议

我用Simfatic\FormHandler开发了一个邮件发送表单,本地测试完全正常,但部署到Hostinger服务器后,出现了Simfatic\Boar\Library\CommonValidations类找不到的错误。已经尝试过清除并重新安装Composer包,也给仓库所有者提交了问题,现在需要更多调试方向。

用到的代码

require(__DIR__.'/vendor/autoload.php');
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

use Simfatic\FormHandler\FormHandler;
use PHPMailer\PHPMailer\PHPMailer;
use Dotenv\Dotenv;

$form = new FormHandler();
$dotenv = Dotenv::createMutable(__DIR__);
$dotenv->load(); 

$form->validate(function($validator) {
    $validator->field('email')->isEmail()->isRequired();
    $validator->field('fullname')->isRequired();
    $validator->field('jobtitle')->isRequired();
    $validator->field('phonenumber')->isRequired();
    $validator->field('postcode')->isRequired();
    $validator->field('services')->isRequired();
    $validator->field('info')->isRequired();
    $validator->field('companyname')->isRequired();

})->configMailer(function($mailer) {
    $mailer->setFrom($_POST['email'], $_POST['fullname'], false);
    $mailer->isSMTP();
    $mailer->SMTPDebug = true;
    $mailer->SMTPAuth = true;
    $mailer->Port = $_ENV['PORT'];
    $mailer->Host = $_ENV['HOST'];
    $mailer->Username = $_ENV['EMAIL'];
    $mailer->Password = $_ENV['PWD'];
    $mailer->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
    $mailer->isHTML(true);
    $mailer->Body = "Body Goes Here";
    $mailer->Subject = "Inquiry form submission from {$_POST['fullname']} @ {$_POST['companyname']}";
})->sendEmailTo($_ENV['EMAIL']);

echo $form->process($_POST);

错误信息

"Simfatic\Boar\Library\CommonValidations" not found in
public_html/vendor/simfatic/boar/src/Boar.php:13 Stack trace: #0
public_html/vendor/simfatic/boar/src/Boar.php(18):
Simfatic\Boar\Boar->__construct() #1
public_html/vendor/simfatic/formhandler/src/FormHandler.php(39):
Simfatic\Boar\Boar::create() #2 public_html/mail.php(12):
Simfatic\FormHandler\FormHandler->__construct() #3 {main} thrown in
public_html/vendor/simfatic/boar/src/Boar.php on line 13

额外调试建议

  • 检查Hostinger服务器的PHP版本,确保和本地开发环境一致,PHP版本差异(比如7.x和8.x)可能导致类加载逻辑异常
  • 确认vendor/autoload.php文件是否存在且内容完整,登录Hostinger文件管理器查看该文件的生成状态
  • 在Hostinger的终端中执行composer dump-autoload -o,强制生成优化后的类映射文件,修复自动加载的路径问题
  • 检查vendor/simfatic/boar/src/Library目录下是否存在CommonValidations.php文件,注意Linux服务器区分文件名大小写,本地Windows环境不区分,可能存在大小写不匹配的情况
  • 调整vendor目录及子文件的权限,设置为755(目录)和644(文件),确保PHP进程有读取类文件的权限
  • 添加临时调试代码,在require autoload.php后加入:
    spl_autoload_register(function ($class) {
        echo 'Attempting to load: ' . $class . '<br>';
        $file = __DIR__ . '/vendor/' . str_replace('\\', '/', $class) . '.php';
        echo 'Looking at: ' . $file . '<br>';
    });
    
    查看系统尝试加载类的实际路径,定位文件缺失或路径错误的问题
  • 检查Hostinger服务器是否开启了OPcache,若开启则清除OPcache缓存,避免旧的类映射被缓存导致加载失败

内容的提问来源于stack exchange,提问作者bceballos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 23:23:15