Articles of PHP

为什么不使用WAMP堆栈?

这是关于使用* AMPP堆栈的一个典型问题 。 最近我和一些有经验的人谈过,他们build议我不要使用WAMP堆栈,而是分别安装apache,mysql和php。 我不明白他们为什么提出这个问题,那么谁能告诉我? WAMP有一个特别的缺点,或者分别安装它们的一个特别的优点吗? 由于WAMP堆栈本身由apache,mysql和php组成,那么使用WAMP堆栈和分别安装它们有什么区别呢?

是否可以使用一组memcache守护进程来更有效地共享会话?

我们正在从1个networking服务器设置移动到两个networking服务器设置,我需要开始共享两个负载平衡机器之间的PHP会话。 我们已经安装了memcached ( 并启动了 ),所以我很高兴地看到,通过更改php.ini文件( session.save_handler和session.save_path )中的3行,我可以完成新服务器之间的共享会话: 我replace了: session.save_handler = files 有: session.save_handler = memcache 然后在主Web服务器上,我设置session.save_path指向localhost: session.save_path="tcp://localhost:11211" 并在奴隶networking服务器上,我设置session.save_path指向主: session.save_path="tcp://192.168.0.1:11211" 工作完成,我testing了它,它工作。 但… 显然,使用memcache意味着会话在RAM中,如果一台机器重启或memcache守护进程崩溃,会丢失 – 我有点担心,但我更担心两个networking服务器之间的networkingstream量(尤其是我们扩大规模),因为每当有人负载均衡到奴隶的networking服务器,他们的会话将通过networking从主networking服务器获取。 我想知道是否可以定义两个save_paths以便机器在使用networking之前查看自己的会话存储。 例如: 主: session.save_path="tcp://localhost:11211, tcp://192.168.0.2:11211" 奴隶: session.save_path="tcp://localhost:11211, tcp://192.168.0.1:11211" 这会成功地共享服务器上的会话,并帮助性能? 即50%的时间节省networkingstream量。 或者,这种技术仅用于故障转移(例如,当一个memcache守护进程不可达时)? 注意 :我没有真正具体询问memcache复制 – 更多关于PHP memcache客户端是否可以在池中每个memcache守护进程内达到峰值的信息,返回一个会话(如果find一个会话),并且只会创build一个新会话(如果找不到一个会话在所有的商店。 正如我正在写这个,我想我从PHP问一点,哈哈… 假设 :没有粘性会话,循环负载均衡,LAMP服务器。

我如何告诉Apache使用哪个PHP?

我在Mac OS X(10.5)上运行Apache2 。 我刚编译PHP 5.2.8 ,最后得到了pdo-mysql工作(或者我认为)。 这个terminal命令: php –version 显示5.2.8 ,我已经安装了正确的模块。 但是,当我做一个phpinfo() , Apache转储PHP 5.2.6 (我的早期版本,没有pdo_mysql )。 我如何告诉Apache要加载哪个PHP? httpd.conf有这样一行: LoadModule php5_module libexec/apache2/libphp5.so 但是,我不知道那是什么或者在哪里。 这是我必须改变的吗?

如何显示和loggingIIS7上的PHP错误?

我们正在IIS 7服务器上运行PHP 5.2.5,而且我们遇到了PHP错误可见的问题…在我们发生PHP错误的时刻,服务器发回一个500错误消息“The page can not因为发生了内部服务器错误而显示“。 这可能是一个很好的生产网站的设置,但它是一个开发服务器上相当烦人… 😉 我曾尝试configurationphp.ini显示屏幕上的错误,以及将其logging到特定的文件夹,但似乎服务器捕获所有错误之前,防止和处理的PHP … 有人知道我们必须做什么,使IIS在屏幕上显示PHP错误? 任何链接,tipps或主题的教程将不胜感激!

如何解决configure:error:找不到OpenSSL的<evp.h>?

我试图重新编译PHP,但./configure失败: configure: error: Cannot find OpenSSL's <evp.h> 我已经安装了LibSSL 1.0.0,LibSSL 0.9.8,LibSSL-Dev,OpenSSL。 –with-openssl=/usr/include/openssl 当我尝试 –with-openssl 告诉我: configuration:错误:找不到OpenSSL的库 ****是哪里的问题? PS Php是5.2.5,OS是Ubuntu

PHP退出状态255:这是什么意思?

我最近编译了一个PHP 5.2.9二进制文件,我试着用它来执行一些PHP脚本。 我可以毫无问题地执行一些脚本,但其中一个中途停止执行,退出时没有任何错误或警告。 进程返回的状态码是255。 我已阅读手册中的这种状态是“保留”的。 问题是:为了什么? 我相信这可能与PHP可执行文件中缺less依赖关系有关,但我无法确定。 任何人都知道退出代码255是什么意思? PS在PHP脚本中没有错误,在其他机器上运行OK。

什么是Nginxconfiguration文件的名称和位置(相当于htaccess)?

有很多关于如何编写Nginx重写规则来模仿Apache的.htaccess文件的教程 ,但是我不能自信地说我知道这个所谓的Nginxconfiguration文件实际上是什么名字或位置。 我正在寻找Nginx的configuration文件,允许你写服务器path和PHP指令。 我使用Ubuntu 12 Linux和Codeigniter作为我的PHP框架。 以下是我所知道的: 这个文件: /etc/nginx/nginx.conf尽pipe它的诱人的名字显然不是服务器指令的地方。 这个文件: /etc/nginx/sites-available/default看起来像我所需要的(我能够生成特定于我的应用程序的PHP错误),但我无法获得正确的Codeigniter特定的path路由。 首先,这是“configuration”文件/ .htaccess相当于每个人都谈到?

新鲜安装的IIS和PHP 500错误

当试图在Windows Server 2012和IIS上运行PHP文件时,我不断收到500错误。 我找不到任何详细的日志或任何东西。 但是,当去PHP的IISpipe理器,并点击检查configuration,我得到以下错误: Detailed Error Information: Module FastCgiModule Notification ExecuteRequestHandler Handler PHP55_via_FastCGI Error Code 0xc0000135 Requested URL http://domain.com:80/brkld3ip.php Physical Path drive:\sites\domain.com\brkld3ip.php Logon Method Anonymous Logon User Anonymous 我使用Microsoft Web Platform Installer 5.0在新安装的Windows Server上安装了PHP。 我是来自Linux的新来的IIS。 所以我在IIS中并没有“足够的学”来知道发生了什么事情。 我已经尝试更新C ++可再发行2012年更新4作为一对夫妇的网站build议。 任何人有任何其他的想法? 编辑:我检查的另一件事是内存限制。 一个网站build议我的记忆上限需要提高。 不用找了。 编辑:问题:是否Windows必须重新启动PHP更改才能生效?

如何找出网站的代码所在?

事实: 有一个网站 本网站可通过www.example.org访问 有一个很可能保持网站的EC2实例 服务器是Apache 服务器操作系统是Ubuntu 我有完整的访问权限(和sudo权限) 服务器是一个巨大的混乱 问题是我不知道在哪里 – 简单地说 – find加载的index.html / index.php。 我如何找出在哪里可以find网站的PHP和HTML代码? 有没有一个系统的方法来解决这个问题?

nginx错误“从上游读取响应头时,recv()失败(104:由对等方重置连接)

我有一台服务器工作正常,直到2013年10月3日上午10点50分,当它开始间歇地返回“502坏门户”错误到客户端。 5个浏览器请求中大约有4个成功,但是大约有5个失败,502个。 nginx错误日志包含数百个这些错误; 2013/10/05 06:28:17 [error] 3111#0: *54528 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 66.249.66.75, server: www.bec-components.co.uk request: ""GET /?_n=Fridgefreezer/Hotpoint/8591P;_i=x8078 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.bec-components.co.uk" 但是,PHP错误日志不包含任何匹配的错误。 有没有办法让PHP给我更多关于为什么重置连接的信息? 这是nginx.conf ; user www-data; worker_processes 4; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; access_log […]