本地主机不重新加载 php 脚本
Localhost don't reload php script
我在 PHP 中有一个脚本,甚至保存并尝试在不同的浏览器中执行它它似乎已被缓存或其他原因,因为我所做的每一次更改,它都不会显示为实时。
编辑 2
我正在我的服务器上尝试这个并且它工作正常,如果我更改文件,网络会像往常一样改变。我的服务器是 运行 与我在本地完全一样的 apache2 的 Debian。
编辑
我试图删除 $app->post('/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');
服务器:本地主机,Apache2
OS: Ubuntu 16.04
PHP7.0
好吧,尝试重新启动网络服务器:)
由于您没有指定您使用的是哪个系统,我将解释两种情况:
Windows
转到 XAMPP 屏幕并单击 "Stop" ,点击后单击 "start" 进入 Web 服务器。
** Linux**
根据您的发行版 运行 以下任一项:
- sudo service apache2 restart
- sudo systemctl 重启 httpd.service
此外,我注意到您的代码中不应该存在一个 \,请尝试将其删除。
$mail = new \PHPMailer();
应该看起来像:
$mail = new PHPMailer();
PHPStorm,我使用的 IDE,变疯了。当我试图关闭它时,我意识到我无法关闭它,当我试图打开该项目时,没有进行任何更改,这就是问题所在。
但是当我之前用 Sublime 打开文件时,更改是有效的,所以我认为这是 PHPStorm 或类似东西的错误。
感谢所有试图提供帮助的人:)
我在 PHP 中有一个脚本,甚至保存并尝试在不同的浏览器中执行它它似乎已被缓存或其他原因,因为我所做的每一次更改,它都不会显示为实时。
编辑 2 我正在我的服务器上尝试这个并且它工作正常,如果我更改文件,网络会像往常一样改变。我的服务器是 运行 与我在本地完全一样的 apache2 的 Debian。
编辑 我试图删除 $app->post('/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');
服务器:本地主机,Apache2
OS: Ubuntu 16.04
PHP7.0
好吧,尝试重新启动网络服务器:) 由于您没有指定您使用的是哪个系统,我将解释两种情况:
Windows 转到 XAMPP 屏幕并单击 "Stop" ,点击后单击 "start" 进入 Web 服务器。
** Linux** 根据您的发行版 运行 以下任一项:
- sudo service apache2 restart
- sudo systemctl 重启 httpd.service
此外,我注意到您的代码中不应该存在一个 \,请尝试将其删除。
$mail = new \PHPMailer();
应该看起来像:
$mail = new PHPMailer();
PHPStorm,我使用的 IDE,变疯了。当我试图关闭它时,我意识到我无法关闭它,当我试图打开该项目时,没有进行任何更改,这就是问题所在。
但是当我之前用 Sublime 打开文件时,更改是有效的,所以我认为这是 PHPStorm 或类似东西的错误。
感谢所有试图提供帮助的人:)