我在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
答案 0 :(得分:0)
好吧,尝试重新启动网络服务器:) 由于您没有指定您所使用的系统,我将解释两种情况:
<强>窗强> 进入XAMPP屏幕并单击“停止”,一旦为网络服务器条目设置为“开始”,就会点击“停止”。
** Linux ** 根据你的发行版运行以下任何一个:
另外,我注意到代码中的\不应该存在,请尝试将其删除。
$mail = new \PHPMailer();
应该是这样的:
$mail = new PHPMailer();
答案 1 :(得分:0)
PHPStorm,我使用的IDE,变得疯狂。当我试图关闭它时,我意识到我无法关闭它,当我试图打开项目时,没有进行任何更改以便解决问题。
但是当我使用Sublime之前打开文件时,更改是有效的,所以我认为这是PHPStorm或类似的错误。
感谢所有试图提供帮助的人:)