Localhost不会重新加载php脚本

时间:2016-10-05 14:13:10

标签: php apache phpmailer slim

我在PHP中有一个脚本,甚至保存并尝试在不同的浏览器中执行它看起来它是缓存的,或者是因为我所做的每一次更改都不会显示。

编辑2 我在我的服务器上尝试这个,它工作正常,如果我更改文件,网络像往常一样改变。我的服务器正在使用apache2运行Debian,就像我在本地运行一样。

修改 我试图删除$ app->帖子('/ send-mail','AppmaticController:sendMail');它还在工作!!

Class /app/controllers/AppmaticController.php

namespace Appmatic\Controllers;

use Appmatic\Errors\ErrorHandler;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;

class AppmaticController
{
    private $slimApp;

    public function __construct($app)
    {
        $this->slimApp = $app;
    }

    public function sendMail(RequestInterface $request, ResponseInterface $response, $arguments)
    {

        $name = filter_var($request->getParsedBody()['name'], FILTER_SANITIZE_STRING);
        $email = filter_var($request->getParsedBody()['email'], FILTER_SANITIZE_EMAIL);
        $subject = filter_var($request->getParsedBody()['subject'], FILTER_SANITIZE_STRING);
        $message = filter_var($request->getParsedBody()['message'], FILTER_SANITIZE_STRING);

        $mail = new \PHPMailer();
        $mail->isSMTP();
        $mail->Host = 'smtp.1and1.es';
        $mail->Port = 587;
        $mail->SMTPAuth = true;
        $mail->Username = 'info@nulltilus.com';
        $mail->Password = 'pass';
        $mail->SMTPSecure = 'tls';

        $mail->setFrom($email, $name);
        $mail->addAddress('info@nulltilus.com', 'Nulltilus');
        $mail->isHTML(false);

        $mail->Subject = $subject;
        $mail->Body = $message;

        if(!$mail->send()) {
            echo 'Message could not be sent.';
            echo 'Mailer Error: ' . $mail->ErrorInfo;
        } else {
            echo 'El mensaje se ha enviado';
        }

    }
}

/public_html/index.php

<?php

use Appmatic\Controllers as Controllers;
use Appmatic\Database;

require '../vendor/autoload.php';
require '../app/controllers/AppmaticController.php';
require '../app/utils/ErrorHandler.php';
include '../app/config/constants.php';

$config = require '../app/config/config.php';
$app = new \Slim\App($config);

require '../app/routes.php';

$container = $app->getContainer();

$container['view'] = function () {
    return new \Slim\Views\PhpRenderer('../app/views/');
};

$container['AppmaticController'] = function ($container) {
    return new Controllers\AppmaticController($container);
};

$app->run();

/app/routes.php

<?php
$app->post('/send-mail', 'AppmaticController:sendMail');

服务器:localhost,Apache2
操作系统:Ubuntu 16.04
PHP 7.0

2 个答案:

答案 0 :(得分:0)

好吧,尝试重新启动网络服务器:) 由于您没有指定您所使用的系统,我将解释两种情况:

<强>窗 进入XAMPP屏幕并单击“停止”,一旦为网络服务器条目设置为“开始”,就会点击“停止”。

** Linux ** 根据你的发行版运行以下任何一个:

  • sudo service apache2 restart
  • sudo systemctl restart httpd.service

另外,我注意到代码中的\不应该存在,请尝试将其删除。

$mail = new \PHPMailer();

应该是这样的:

$mail = new PHPMailer();

答案 1 :(得分:0)

PHPStorm,我使用的IDE,变得疯狂。当我试图关闭它时,我意识到我无法关闭它,当我试图打开项目时,没有进行任何更改以便解决问题。

但是当我使用Sublime之前打开文件时,更改是有效的,所以我认为这是PHPStorm或类似的错误。

感谢所有试图提供帮助的人:)