我正在使用FastCGI运行Lighttpd网络服务器,该网络服务器不输出PHP解析错误。我的php.ini文件具有以下设置:error_reporting=E_ALLdisplay_errors=Offdisplay_startup_errors=Offlog_errors=Onhtml_errors=On我像这样在我的PHP脚本中为开发启用错误输出(对其他环境有冗余):error_reporting(E_ALL);ini_set('display_errors',1);ini_set('html_errors','On');大多数错误输出正常。解析错误没有。下面是抛出解析错误的示例
我正在创建一个小型Web服务,该服务只能由机器访问,而用户不能访问,只需获取一个查询字符串并进行一些MySQL查询。我决定用PHP编写代码,因为它简单易写,而且工作出色。然而,我的老板希望我们将其编写为C中的CGI(使用FastCGI),因为他说这样会更快并且使用更少的内存。我不太喜欢这个想法,原因如下:C的MySQLAPI似乎比等效的PHP有更多的调用,并且需要更多的错误处理。C中的字符串操作有些复杂和困惑。C中的代码几乎是PHP中等效代码的3倍,而且看起来相当困惑,有很多错误处理。但这只是我的看法。我还需要考虑哪些其他因素?C是这项工作的最佳工具吗?还是PHP?
当使用Apache运行PHP时,我知道php核心和所有库都会为每个请求加载。但是,对于PHPCGI、FastCGI或使用PHP-FPM,php进程在重新启动之前通常会持续500-1000个请求。在那段时间里,它如何处理加载的PHP类或库?假设我有一个加载大型库的文件,它会在每次请求时加载(然后转储)大型库还是在我传递给它的每个新请求时保持加载?我所说的“加载”是指包含(并解析)了类,但没有创建任何对象。APC如何发挥作用? 最佳答案 对于FCGI(PHP-FPM也是FCGI),只有php二进制文件和它的二进制库保留在内存中。PHP用
设置和背景我正在处理需要作为/usr/bin/php-cgi而不是/usr/local/bin/php运行的脚本,我遇到了麻烦检查stdin如果我使用/usr/local/bin/php作为解释器,我可以做类似的事情ifdefined('STDIN'){...}这似乎不适用于php-cgi-看起来总是未定义。我检查了manpageforphp-cgi但没有发现它很有帮助。另外,如果我理解正确的话,STDIN常量是php://stdin的文件句柄。我在某处读到常量不应该在php-cgi中可用要求shebang需要是#!/usr/bin/php-cgi-q脚本有时会被传递参数脚本有时会通过
我想缓存(fast_cgi)404响应。error_page404=/url_rewriting.php;在我的url_rewriting.php中,我用php生成图像:if(strpos($_SERVER['REQUEST_URI'],'render/framed/file')!==FALSE){$urlBlocks=['VR','sizePixels','image','ver','frame','borderSize','mat','matSize','maxSize','frameGlass','minSize'];foreach($urlBlocksas$oneBlock){
根据IIS.net'sguide.使用WP-SuperCache在IIS7(WindowsServer2008)上运行WordPress运行良好,但最近我们更改了某些文件夹的权限和管理员密码,由于PHP-cgi.exe进程,我们的CPU使用率出现了巨大的峰值。这让我相信它不是缓存,但是页面本身在底部有“使用WP-SuperCache缓存”注释,并且缓存似乎工作正常。这里还有什么问题? 最佳答案 我想我可能已经找到了解决这个问题的方法,或者至少找到了解决方法,至少它似乎对我来说是可靠的。尝试将IIS服务器-->FastCGI设置下的最
我最近使用WixToolSet为Web应用程序(是的,带有安装程序的Web应用程序)开发了一个安装程序.向导引导用户获取站点安装所需的所有基本信息,如下图所示:在安装结束时使用自定义操作,我使用thedocumentation将IIS动态配置为处理程序CGI,配置FastCGI以托管PHP、Python、应用程序。实现这个结果有很多步骤和发展,但问题就在这里:我安装了应用程序并且一切正常,但是,如果我卸载或安装另一个实例或另一个WebApplication,IIS配置的处理程序就像全局一样,并且始终指向第一个安装的。(当我卸载应用程序时出现问题)位于C:\Windows\System3
看完这篇文章后我要问的问题http://stevehanov.ca/blog/index.php?id=95使用cgi代替fastcgi也不是惩罚吗?更新:为什么有些人假装回答“您将性能提高20-30%”?纯粹是猜测还是这个数字来自可靠的基准?我看过HipHop的性能是10倍以上。 最佳答案 我已经用几种语言和框架完成了webdev,包括python,php和perl。我自己托管这些网站,而我最大的网站每天的访问量约为2万次。只需投入大量资源,任何具有合理速度的语言和框架都可以扩展到每天2万次点击。有些资源比其他资源更多。(克隆,J
我在Windows上运行Python3.2。我想在我的机器上运行一个简单的CGI服务器以进行测试。这是我到目前为止所做的:我用以下代码创建了一个python程序:importhttp.serverimportsocketserverPORT=8000Handler=http.server.CGIHTTPRequestHandlerhttpd=socketserver.TCPServer(("",PORT),Handler)httpd.serve_forever()在同一个文件夹中,我创建了一个简单的HTML文件“index.html”。然后我运行程序并转到http://localhos
我这辈子都想不通。这是我的开发机器设置:Windows7家庭高级版64位,网络服务器:NGINX1.3.6c:\users\user_name\devel\nginxPHP:5.4.7c:\users\用户名\devel\nginx\php5一切正常,只是在恰好500次点击后,我的php-cgi.exe意外退出。没有错误日志,没有事件,什么都没有。它在500次点击后就死了……每一次。我还没有在网上找到单一的信息来源来帮助我解决这个问题。所有配置似乎都有效且良好。这发生在两台不同的机器上(我的开发桌面和我的笔记本)。我已经尝试了不同的nginx.conf和php.ini文件……还是一样。