Articles of PHP

lighttpd:后端超载+ fcgi-server重新启用+所有处理程序都closures

我们有一个PHP-CGI的标准lighttpd部署,我们的错误日志充斥着以下内容。 这导致了一个巨大的问题,因为我们不断向客户返回500的: 2012-10-14 14:28:38: (mod_fastcgi.c.3001) backend is overloaded; we'll disable it for 1 seconds and send the request to another backend instead: reconnects: 0 load: 36 2012-10-14 14:28:38: (mod_fastcgi.c.2764) fcgi-server re-enabled: 0 /tmp/php-7735.socket 2012-10-14 14:28:39: (mod_fastcgi.c.2764) fcgi-server re-enabled: 0 /tmp/php-7735.socket 2012-10-14 14:28:40: (mod_fastcgi.c.3001) backend is overloaded; we'll disable it for 1 seconds and send the […]

麻烦mod_rewrite和PHP扩展 – 帮助制作正确的.htaccess文件

我正在寻找一组简单的规则和redirect我的网站。 我试过这么多的组合,我开始感到困惑。 我不知道如何设置。 一般情况下,没有mod重写,我会使用相对path链接到文件: <a href="link.php">Link</a> 如果它在同一个目录中。 现在我想用这个: <a href="link">Link</a> 所以,如果你去这个页面: localhost/mysite/link 它会带你到正确的地方,这将是: localhost/mysite/link.php 而且,还有很多目录层次,我希望它也能工作: localhost/mysite/group/link2 会去: localhost/mysite/group/link2.php 和: localhost/mysite/group/section/link3 会去: localhost/mysite/group/section/link3.php 但是,在所有这些情况下,如果有人input这个: localhost/mysite/group/section/link3.php 在URL栏中,它会显示这个: localhost/mysite/group/section/link3 谢谢 编辑 我认为我遇到的问题的一部分是我的网站根目录中有这些目录: product1 ,产品2,产品3 而且我也将这些文件放在一个名为products的目录中: product1.php , product2.php , product3.php .htaccess文件不工作,直到我将这些文件名称更改为其他的,这是不同的目录名称。 这有道理吗? 这是预期的行为? 编辑2 我相信有人会来这个post寻找类似的帮助,就像我在写这个问题时一样。 mod_rewrite在这里和stackoverflow.com上都有很多好的答案。 我build议通读这些条款和规则,并在testing实例中试用这些条件和规则,以获取这些条件和规则。 我也意识到,使用频繁的浏览器caching清除和激活RewriteLog是必不可less的这个东西了。 例如: RewriteLog“rewrite.log”RewriteLogLevel 7 玩的开心

PHP文件Lister子目录404 Lighttpd错误

我今天刚刚安装了lighttpd,并且在使用lighttpd时总是在子目录上返回一个404错误。 我试图安装这个 (h5ai),我已经按照后者的方向。 这是lighttpd的configuration中的一行 index-file.names = ( "index.php", "index.html", "index.htm", "default.htm", "lighttpd/index.html", "_h5ai/server/php/index.php" ) 从我所了解的这个configuration是,它将加载所有上述目录,并search索引文件中的任何一个,并在请求时显示它。 所以我没有看到这个问题。 主页工作正常:www.example.com然而,正如你可以在网站上看到,当你去一个子目录,你会立即得到一个404错误。 这个目录确实存在,这很奇怪。 这是我的lighttpd.conf # lighttpd configuration file # # use it as a base for lighttpd 1.0.0 and above # # $Id: lighttpd.conf 8860 2008-08-05 10:56:16Z engy $ ############ Options you really have to take care of #################### ## […]

这是什么样的攻击url?

我用自己的自定义PHP代码设置了一个网站。 看来像乌克兰这样的地方的人正在试图破坏它。 他们正在尝试一堆奇怪的访问,看似是为了检测我得到的PHP文件。 他们发现我有PHP文件,例如mail.php和sendmail.php。 他们已经尝试了一堆GET选项,如: http://mydomain.com/index.php?do=/user/register/ http://mydomain.com/index.php?app=core&module=global§ion=login http://mydomain.com/index.php?act=Login&CODE=00 我想这些都与LiveJournal有关? 这是奇怪的,也是我的问题的主题。 他们正在尝试这个url: http://mydomain.com?3e3ea140 什么样的网站容易受到32位hex数字的影响?

有没有很好的理由来改变session.save_path?

在共享主机上,当服务器的/tmp目录已满时偶尔会出现问题。 我们的托pipe公司build议我们将会话保存path更改为每个站点都是唯一的。 ini_set('session.save_path', DOCUMENT_ROOT . '/_SESSIONS/'); 是的,这使我们的会议在网站的根。 我们通过在该文件夹中包含一个.htacces文件来处理潜在的隐私问题: deny from all 这工作。 我们现在已经转移到我们自己的托pipe服务器。 此服务器上的默认会话保存path是/var/lib/php/session 。 有没有什么好的理由继续覆盖/var/www/vhosts/example.net/httpdocs/_SESSIONS/ ?

是否可以在Mac OS X服务器上安装新的语言环境?

我正在Mac OS X 10.6上运行一个具有全functionApache 2服务器的PHP应用程序。 该应用程序旨在运行在墨西哥,但没有es_MX语言环境在服务器上。 我该如何安装?

你可以启用suphp来跟踪文档根目录的符号链接吗?

我想克隆一个网站到用户的主目录和符号链接从我的网站文件夹到public_html 。 drwxrwxr-x 5 myuser myuser 4096 Dec 3 12:00 ./ drwxr-xr-x 4 myuser myuser 4096 Dec 3 11:31 ../ drwxrwxr-x 3 myuser myuser 4096 Oct 22 00:48 conf/ drwxrwxr-x 2 myuser myuser 4096 Dec 3 11:52 logs/ lrwxrwxrwx 1 myuser myuser 19 Dec 3 12:00 public_html -> mywebsite/ drwxr-xr-x 6 myuser myuser 4096 Nov […]

从PHP运行batch file – 交互式服务检测?

我很难从PHP脚本(使用exec()或其他一些我尝试过的PHP命令)中获取可执行文件。 这个问题似乎归结为一个用户权限(可能?)或Windows /服务器configuration的问题,而我知道的很less。 我目前使用WAMPserver在Windows本地主机上进行testing。 我目前有一个.bat文件的命令来运行我的可执行文件,就像我从命令行运行它。 从命令行运行时,.exe工作正常; 同样,当我直接点击.bat文件时,它启动并运行.exe,因为它应该。 然而,当我尝试从PHP脚本运行它(目前通过使用exec('open.bat');虽然我已经尝试了许多其他启动它的方式),它激活了一个名为“Windows交互式服务检测”。 从我读过的内容来看,这与Windows的“会话”有关,为了安全起见,用户程序在会话1中运行,而系统进程在会话0中运行。 但由于某种原因,我可以运行.bat罚款,如果我只是点击它。 所以也许这与PHP执行batch file的用户有关呢? 我已经尝试了几种将文件作为不同用户运行的方法,例如使用CPAU ,它允许程序在不同的用户下执行。 同样,当直接点击batch file时,程序工作正常,但是从PHP激活它时,它不起作用(当使用CPAU,而不是交互式服务检测popup时,它什么也没有做)。 有没有人遇到类似的问题,而试图从PHP内运行一个可执行文件,或有一个想法,我可能会得到它运行?

如何使用memcached和unix套接字来存储php会话

我用systemd,nginx和php用php-fpm运行Arch linux。 我想(和失败)configurationmemcached存储会话使用unix套接字。 我有memcached安装和活动,但是,我无法禁用networking。 我将下面一行添加到/etc/conf.d/memcached MEMCACHED_ARGS="-s unix:///tmp/memcached.sock -a 666" 我也试过: MEMCACHED_ARGS="-s /tmp/memcached.sock -a 666" MEMCACHED_ARGS="-s unix:/tmp/memcached.sock -a 666" 当我重新启动memcached我总是得到: memcached.service – Memcached Daemon Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled) Active: active (running) since Sat 2013-01-19 17:41:15 PST; 5min ago Main PID: 773 (memcached) CGroup: name=systemd:/system/memcached.service └─773 /usr/bin/memcached -l 127.0.0.1 当我运行PHP脚本会话PHP错误日志显示(不奇怪): [19-Jan-2013 16:46:45 America/Los_Angeles] PHP Warning: Unknown: Failed […]

MongoDB副本集故障切换会增加1000倍的查询响应时间

我正在testing一个生产MongoDB副本集故障转移。 当我手动失败的情况下,我看到一个约。 我的PHP查询的响应时间减less了1000倍(一千次)。 我在最新的MongoDB(2.2.2)和最新的PHP驱动程序(1.3.3)。 我有一个3服务器副本集和一个PHPtesting,使两个相同的调用背靠背。 有没有人看过这个? 有人可以build议我的configuration更改来解决它吗? 这对我来说是一个停滞的问题。 下面的细节…注:我没有失败的主要我失败了一个次要的,但轶事testing表明,它没有任何区别。 非常感谢您提供的任何见解。 — ReplicaSet Config test:PRIMARY> rs.conf() { "_id" : "test", "version" : 10, "members" : [ { "_id" : 1, "host" : "10.0.1.1:27017", "priority" : 20 }, { "_id" : 2, "host" : "10.0.3.3:27017", "priority" : 10 }, { "_id" : 3, "host" : "10.0.2.2:27017" } […]