草庐IT

php - PHP 5.5 opcache 是否会与 FastCGI (mod_fcgi) 跨进程共享?

我的网站运行在带有FastCGI(mod_fcgi)的PHP5.5上。我知道其他opcache类型(如APC)不能很好地工作,因为内存不在php-cgi进程之间共享(here)。我正在使用PHP5.5内置的OPcache。进程之间是否共享内存,或者这与APC/Xcache与mod_fcgi的问题完全相同?有什么办法可以测试吗? 最佳答案 我一直不明白为什么这甚至被认为是一种可能性,这不是一种现实的可能性:APC和Opcache都有几种形式的共享内存,它们默认且最合适的是mmap内存,但是由于各种奇怪的原因他们需要支持劣质类型,这些劣

javascript - 通过 FastCGI 使用 ExpressJS 应用程序

刚开始处理NodeJS网络应用程序并有一个基本问题。因为我来自PHP领域,所以我知道PHP有一个built-inHTTPserver但实际上没有人使用它,我们使用nginx和史前项目Apache作为HTTP服务器,当我进入ExpressJS时,我发现所有示例都在谈论监听ExpressJS打开的HTTP服务器(当然是通过httpNodeJS模块)但是没有人谈论通过FastCGI(nginx->FastCGI(例如node-fastcgi)->我的ExpressJS应用程序)使用它,就像我以前使用PHP(nginx->PHP-fpm->我的PHPenv)一样,我想知道为什么?据我所知,No

php - Nginx 的 fastcgi-php.conf 片段丢失

我正在尝试使用nginx为PHP提供服务,我已经关注了thistutorial之前成功但由于某种原因在新服务器上我收到以下错误:nginx:[emerg]open()"/etc/nginx/snippets/fastcgi-php.conf"failed(2:Nosuchfileordirectory)事实上,nginx安装的整个snippets目录都不见了。我已经使用以下命令安装了PHP:-sudoapt-getinstall-yphp7.0-cliphp7.0-cgiphp-fpmphp-mysql-sudosystemctlrestartphp7.0-fpm我已经安装了可用的最新

Nginx + FastCGI + PHP (php-fpm) 不记录捕获的错误/警告

FastCGI不想正确记录PHP错误。好吧,这并不完全正确:它可以很好地记录错误,但需要一些小改动;它只是不会记录任何其他内容,例如警告。臭名昭著的FastCGI->Nginx日志错误不一定是问题。来自php-fpm的错误和警告会直接发送到Nginx——但前提是它们未被捕获。也就是说,如果set_error_handler成功拦截错误,则不会附加任何日志条目。这意味着我可以看到解析错误,但仅此而已。php-fpm本身不会记录PHP错误(与nginx分开)而无需一点hack。php-fpm的实例配置文件默认包含这两行:php_admin_value[error_log]=/mnt/log

php - 使用 PHP fastcgi 和 eclipse 配置 Xdebug?

我将eclipse-pdt与xdebug和apache结合使用已经一年多了,没有出现任何问题。一切都完美无缺,我可以在eclipse中进行我想要的所有交互式调试(使用我自己的机器作为服务器)。现在我从apache切换到nginx(因此PHP现在不是作为Apache服务而是作为fast-cgi运行)我找不到一种方法来配置eclipse以与xdebug很好地协同工作.我不确定问题出在xdebug还是eclipse(或两者)上。在eclipse配置中,我已经将对PHP配置文件的引用更改为/etc/php5/cli/php.ini。尝试使用php.ini版本1使用以下php.ini文件zend

php - 如何修复 Plesk 中的 FastCGI 超时问题?

PHP支持当前设置为:作为快速CGI运行。我的服务器日志中不断出现这些错误:mod_fcgid:readdatatimeoutin45secondsPrematureendofscriptheaders:index.php我认为应该是快速修复,但我找不到要编辑的文件。这是我可以从Plesk更改的内容吗?有人知道如何增加超时时间吗? 最佳答案 在Plesk12.x和类似版本中,转到Web服务器设置并设置以下指令:HTTP和HTTPS的附加指令FcgidBusyTimeout300FcgidIOTimeout250以上几行将更改安静太长

apache - 在 php-fpm/mod_fastcgi 中使用 mod_headers 的问题

我正在尝试添加HSTS标题到我的应用程序中的每个响应。我的第一个想法是使用mod_headers—我将此指令放在文档根目录下的.htaccess文件中:HeadersetStrict-Transport-Security"max-age=7776000"这在我使用Apache2.2和mod_php的本地设置上运行良好。所有资源都以适当的HSTSheader响应。我的部署环境使用Apache2.2和mod_fastcgi,上述技术适用于任何资源php文件。另一个SOquestion有一个类似的问题,传入的请求(?)的header被剥离——但我担心修改离开服务器的响应header。如何在.

c# - 在 C# 应用程序中使用 FastCGI 应用程序

我正在用C#开发一个小型网络服务器,作为一个更大项目的一部分(该项目的性质使我无法使用像apachenginx这样的东西,而这将是我的第一选择)。网络服务器需要PHP来处理它收到的一些请求。目前,我使用System.Diagnostics.Process和管道数据来回运行php作为cgi。这有效但速度很慢(大概是从PHP从头开始​​的开销,是主要问题)。所以我想尝试使用FastCGI。我看过FastCGI规范,并着手实现一个基本的子集,但运气不佳。我见过的大多数示例都是用于开发FastCGI模块的库,而不是用于调用它们的库,因此我几乎没有什么可以用作引用。有没有人有在.NET下执行此操

c++ - FastCGI 如何在 Web 服务器上工作(例如 Apache 2.2+)?

我查看了FastCGI(fcgi-2.4.0)的源代码,实际上没有fork的迹象。如果我是正确的,Web服务器会为FastCGI模块(在其中编译或作为SO/DLL加载)生成一个进程,并将主套接字(通常是端口TCP:80)的控制权交给它。在*nix上,FastCGI模块使用文件写锁(libfcgi/os_unix.c:989)在整个文件描述符(实际上是监听套接字)上“锁定”该套接字;这样,当新连接进入时,只有FastCGI模块能够处理这些连接。在移交给HTTP请求处理之前释放传入的套接字锁。由于FastCGI模块不是多进程/线程(没有内部fork/pthread_create的使用)我假

c++ - 如何配置 apache2 和 fastCGI 来运行我的 C++ 应用程序

我已经用C++编写了一个程序并用gcc编译了它(就像fastcgi.com中的示例)但是我不知道如何在本地主机上运行它。到处搜索,我发现mod_fcgi的php配置不起作用对于C++。是否有人配置了apache和mod_fcgi来运行c++web应用程序??? 最佳答案 mod_fcgi?我只找到了mod_fastcgi和mod_fcgid。两者的Apache配置看起来都非常简单。让我们编译FastCGI示例并创建一个简约的Apache实例来为其提供服务:安装libfcgi-dev在某处创建临时目录并编译来自https://open