如何加快我的基于PHP的网站?

如何加快我的基于PHP的网站?,php,performance,organization,Php,Performance,Organization,我刚刚从零开始建立了一个基于PHP的小网站,对我来说太棒了!但考虑到它的大小,它的运行速度比我预期的要慢一点 我将文件/文件夹按如下方式组织: <?php $thisPage="Writing"; include("header.php"); $page = $_GET['article']; $file = "articles/".$page.".html"; if(file_exists($file)) { include($file); } else { print

我刚刚从零开始建立了一个基于PHP的小网站,对我来说太棒了!但考虑到它的大小,它的运行速度比我预期的要慢一点

我将文件/文件夹按如下方式组织:

<?php

$thisPage="Writing";

include("header.php");


$page = $_GET['article'];
$file = "articles/".$page.".html";
if(file_exists($file)) {
  include($file);
} else {
  print "404 Error. Page does not exist";
}

function IsSafeInclude($x) {
    if(strpos($x, "/../") !== false || strpos($x, "../") === 0 || strpos($x, "/..") == (strlen($x) - 3) || $x == '..')
        return false;
    else
        return true;
}

//include("html/articles-left.html");

?>

<div id="article-nav-container">

        <ul id="article-nav-pg">
            <li><a href="articles.php?article=article_name1">1</a></li>
            <li><a href="articles.php?article=article_name2">2</a></li>
            <li><a href="articles.php?article=article_name3">3</a></li>
            <li><a href="articles.php?article=article_name4">4</a></li>
            <li><a href="articles.php?article=article_name5">5</a></li>
            <li><a href="articles.php?article=article_name6">6</a></li>
        </ul>

        <script type="text/javascript">
                $(document).ready(function() {
            var loc = window.location.href; // The URL of the page we're looking at
            $('#article-nav-pg a').each(function() {
                if (loc.indexOf(this.href) !== -1) { // If the URL contains the href of the anchor
                        $(this).addClass('selected'); // Mark it as selected
                }
            });
        });
        </script>



    </div><!-- end articles nav -->


    <p id="left-description"><img src="images/side-descrip-stories.jpg" width="20" height="90" alt="Story Description" /></p>

<?php

include("footer.php");

?>
  • 文章[文件夹]
  • css[文件夹]
  • html[文件夹]
  • 图像[文件夹]
  • js[文件夹]
  • 摄影[文件夹]
  • 资源[文件夹]
  • articles.php[文件]
  • bio.php[文件]
  • contact.php[文件]
  • content.php[文件]
  • favicon.ico
  • footer.php[文件]
  • header.php[文件]
  • index.php[文件]
  • photography.php[文件]
我的大部分PHP文件都是这样编码的:

<?php

$thisPage="Writing";

include("header.php");


$page = $_GET['article'];
$file = "articles/".$page.".html";
if(file_exists($file)) {
  include($file);
} else {
  print "404 Error. Page does not exist";
}

function IsSafeInclude($x) {
    if(strpos($x, "/../") !== false || strpos($x, "../") === 0 || strpos($x, "/..") == (strlen($x) - 3) || $x == '..')
        return false;
    else
        return true;
}

//include("html/articles-left.html");

?>

<div id="article-nav-container">

        <ul id="article-nav-pg">
            <li><a href="articles.php?article=article_name1">1</a></li>
            <li><a href="articles.php?article=article_name2">2</a></li>
            <li><a href="articles.php?article=article_name3">3</a></li>
            <li><a href="articles.php?article=article_name4">4</a></li>
            <li><a href="articles.php?article=article_name5">5</a></li>
            <li><a href="articles.php?article=article_name6">6</a></li>
        </ul>

        <script type="text/javascript">
                $(document).ready(function() {
            var loc = window.location.href; // The URL of the page we're looking at
            $('#article-nav-pg a').each(function() {
                if (loc.indexOf(this.href) !== -1) { // If the URL contains the href of the anchor
                        $(this).addClass('selected'); // Mark it as selected
                }
            });
        });
        </script>



    </div><!-- end articles nav -->


    <p id="left-description"><img src="images/side-descrip-stories.jpg" width="20" height="90" alt="Story Description" /></p>

<?php

include("footer.php");

?>

$(文档).ready(函数(){ var loc=window.location.href;//我们正在查看的页面的URL $(#文章导航pg a')。每个(函数(){ if(loc.indexOf(this.href)!=-1){//如果URL包含锚的href $(this).addClass('selected');//将其标记为选中 } }); });

有些文件中还直接包含html代码。如果您能给我一些关于如何提高我的基于PHP的小型网站速度的建议,我将不胜感激


谢谢

首先,您需要测量:

  • “慢”有多慢
  • 慢是一致的吗
  • 当许多用户访问该网站时,该网站是否变得非常缓慢
然后找出瓶颈,设计变更,实施变更,并再次测量。在某一点上,你应该详细说明你想改进多少,然后停止

大多数情况下,瓶颈是数据库。数据库查询优化是整本书的一个主题,但是如果您使用MySQL,请看一下。要量化站点的性能特征,请看一看

编辑:我刚刚(从您的来源)发现您没有使用MySQL。所以你需要测量并给我们提供一些数字。页面渲染的开始时间是多少


不过,有一点是完全不相关的,那就是要小心你遇到的安全问题。

首先,你需要衡量:

  • “慢”有多慢
  • 慢是一致的吗
  • 当许多用户访问该网站时,该网站是否变得非常缓慢
然后找出瓶颈,设计变更,实施变更,并再次测量。在某一点上,你应该详细说明你想改进多少,然后停止

大多数情况下,瓶颈是数据库。数据库查询优化是整本书的一个主题,但是如果您使用MySQL,请看一下。要量化站点的性能特征,请看一看

编辑:我刚刚(从您的来源)发现您没有使用MySQL。所以你需要测量并给我们提供一些数字。页面渲染的开始时间是多少


不过,另一个完全不相关的注意事项是,要小心您遇到的安全问题。

它所做的每件事都只包括三个文件?没有SQL查询,没有数据处理?我怀疑有任何性能问题。可能是安全问题:}(包括一个由用户提供的数据构造的文件名)。我建议用C.Messa重写它。我如何解决这个安全问题?它所做的每件事都只包括三个文件?没有SQL查询,没有数据处理?我怀疑有任何性能问题。可能是一个安全问题:}(包括一个由用户提供的数据构造的文件名)。我建议用C.Messa重写它,我如何解决这个安全问题?整个站点的加载速度似乎为5秒。所有页面的加载时间为2-3秒,但“写入”页面除外,该页面的加载时间为1秒或更短。主页的加载速度比预期的2.5慢。它仅由背景图像和内容区域内的导航链接组成。我很困惑。除此之外,“生物”和“接触”也被延迟,但它们是简单的布局。“摄影”页面最长为3.7页。它使用js插件创建照片库。gzip和js压缩有帮助吗?我想让页面加载在平均值为1.5或更少。感谢您的帮助。对于您在源代码中向我们展示的内容,这些渲染时间完全疯狂(很长)。一定是有什么事情搞砸了。整个网站的加载速度似乎是5秒。所有页面的加载时间为2-3秒,但“写入”页面除外,该页面的加载时间为1秒或更短。主页的加载速度比预期的2.5慢。它仅由背景图像和内容区域内的导航链接组成。我很困惑。除此之外,“生物”和“接触”也被延迟,但它们是简单的布局。“摄影”页面最长为3.7页。它使用js插件创建照片库。gzip和js压缩有帮助吗?我想让页面加载在平均值为1.5或更少。感谢您的帮助。对于您在源代码中向我们展示的内容,这些渲染时间完全疯狂(很长)。一定有什么事搞砸了。