标签: php

Memcached 调试/服务器日志监控 Memcached 服务器?

我有基于 Memcached 变量的聊天引擎,将它们放入数组并通过 jquery 在另一端读取它们,

它在 95% 的情况下都可以正常工作,但是当服务器负载很高时 memcached(假设它是 memcached)崩溃和浏览器卡住了。

我不认为它的 jquery 问题,因为这只发生在服务器负载非常高的时候。

我需要一种方法来监视 memcached 服务器或以某种方式将日志文件写入失败/错误所在的位置...

关于我如何做到这一点的任何想法?或者知道为什么 memcached 服务器会失败?我按如下方式运行 memcached

$GLOBALS['MemCached'] = FALSE;
$GLOBALS['MemCached'] = new Memcache;
$GLOBALS['MemCached']->pconnect('localhost', 11211);
Run Code Online (Sandbox Code Playgroud)

我的 memcached 配置如下

#! /bin/sh
#
# chkconfig: - 55 45
# description:  The memcached daemon is a network memory cache service.
# processname: memcached
# config: /etc/sysconfig/memcached
# pidfile: /var/run/memcached/memcached.pid

# Standard LSB functions
#. /lib/lsb/init-functions

# Source function library.
. /etc/init.d/functions

PORT=11211
USER=memcached
MAXCONN=1024
CACHESIZE=128
OPTIONS=""

if [ -f …
Run Code Online (Sandbox Code Playgroud)

linux php memcached memcache

1
推荐指数
2
解决办法
4万
查看次数

Nginx 和 php 由不同的用户运行。这是一个坏主意吗?

我刚刚发现我的 nginx 用户与 ("php-user") 返回的用户不同。两个用户都不是 root。不过不知道这个配置以后会不会出问题?

我正在 Ubuntu 12.04 上工作。

linux php nginx

1
推荐指数
1
解决办法
235
查看次数

Amazon Linux AMI EC2 PHP 函数识别

我最近在 AWS 上设置了标题实例(64 位)。话虽如此,我已经安装了 httpd 和 php,它们都在运行。

执行的一系列安装如下:

yum install httpd
yum install php
yum install mysql
yum install php-mysql
Run Code Online (Sandbox Code Playgroud)

关于 PHP 安装,我缺少什么?该函数库似乎缺乏既mb_strlen()imagecreatefromjpeg()不再认可。

非常感谢建议的额外安装。

php amazon-ami amazon-ec2 amazon-web-services apache-2.2

1
推荐指数
1
解决办法
1423
查看次数

cron 作业重复运行,为什么?

为什么这个 cron 作业会随着时间的推移重复执行,我该怎么做才能阻止它?

我有一个应该在每天早上 4 点运行的 cron 工作。它击中了一个 php 脚本,该脚本执行一些日常数据分析,并在正常情况下运行一次(大约需要 2-3 分钟才能完成)并退出。它一直在工作,但最近它在服务器崩溃的时候运行得很糟糕。我调查并发现了以下内容。crontab 条目如下所示:

* 4 * * * /usr/bin/wget -q -O /dev/null 'http://123.456.78.90/index/thing?param=1'
Run Code Online (Sandbox Code Playgroud)

在我的日志文件中,我看到:

123.456.78.90 - - [28/Nov/2012:04:00:01 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4181 "-" "Wget/1.12 (linux-gnu)"
123.456.78.90 - - [28/Nov/2012:04:01:01 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4181 "-" "Wget/1.12 (linux-gnu)"
123.456.78.90 - - [28/Nov/2012:04:02:01 -0800] "GET /index/thing?param=1 HTTP/1.0" 200 4181 "-" "Wget/1.12 (linux-gnu)"
// and then later it ends with (note that it isn't trying every minute now)
123.456.78.90 - …
Run Code Online (Sandbox Code Playgroud)

php wget cron apache-2.2

1
推荐指数
1
解决办法
1490
查看次数

PHP 中 dl() 的替代方法?

我们有一个第三方包,需要使用 PHPdl()函数来加载二进制扩展。自 PHP 5.3 起,此函数已被弃用并删除,因此我们正在寻找一种方法来使其工作 - 可能通过降级到 PHP 5.2。

我似乎在尝试将 PHP 5.3 安装降级到 5.2 时遇到了非常艰难的时刻。我曾尝试使用 yum downgrade util,但失败得很惨。

有谁知道如何做到这一点而不涉及从源代码编译,因为我不太急于尝试手动满足大量依赖项?

或者,有没有另一种方法可以让这个第三方包在不需要的情况下工作dl()

php yum rhel6

1
推荐指数
1
解决办法
3584
查看次数

在 CENTOS 上安装最新 apache 和 php 的最简单方法

我正在寻找在 CENTOS 6.4 (x64) 上安装最新版本的 apache(当前为 2.4.4)和 PHP(当前为 5.4.13)的最简单和最明智的方法,但我遇到了无穷无尽的问题。

如果我将 yum 与默认存储库一起使用,则可用的最新版本是 3 年前的 2.2.15(似乎已于 2010 年 3 月发布)。真的吗?我想要在我的全新服务器上使用三年前的 Web 服务器?

因此,我接下来查看了从源代码构建 - 我可以这样做,但是当我完成安装时,我想测试卸载,所以我执行了“make uninstall”并收到一条消息 make: *** No rule to make target `卸载'。

太好了,所以我不能以自动方式卸载它以便以后升级?此外,当我从源代码构建 PHP 时,我面临着一个又一个依赖。我继续一个一个地安装,直到我最终放弃。这似乎不是一个合理的方法 - 没有卸载选项 - 永无止境的依赖。

我接下来查看了像 REMI 这样的替代存储库 - 似乎 REMI 提供 PHP5.4.13 它需要 apache 2.2.15 你会收到一条消息,说明 Requires: httpd-mmn = 20051115(这显然是 Apache 2.2.15 的一部分

接下来我着眼于从源代码构建我自己的 RPM。(至少这样我可以轻松地卸载它们。)效果很好 - 最初。我能够轻松地构建 apache 的 RPM,并且通过一点努力,我能够调整 PHP 以查找 apache 2.4.13,但是在我这样做之后,我仍然提示错误,php54 需要 Requires: libcurl.so .3()(64 位)。我似乎安装了 curl 和 libcurl、libcurl-devel。

在这一点上我很沮丧 - …

php centos apache-2.2

1
推荐指数
1
解决办法
8209
查看次数

使用php函数无法连接mysql服务器(13)

我打开了谷歌结果向我抛出的有关此 MySQL 错误的所有链接。我一直在花几个小时来让它工作..

我有一个 Web 服务器,(apache in centos installed in host B, and want to connect to a MySQL server in host A)两个主机都在同一个子网中。

我可以使用 CLI 访问远程 mysql mysql -u root -h <ip> -p

但无法使用PHP函数连接到mysql mysql_connect()

我已经 在 /etc/my.cnf 中禁用SELINUXsystem-config-firewall-tui包含以下语法

  [client]
  port =3306
  socket = /var/lib/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)

在网上找到的一些解决方案告诉我输入setbool与 selinux 相关的,但事实是,SELINUX 已经被禁用。

奇怪的是,我可以通过 CLI 连接,但不能在 php 函数中

另外,我php-mysql在两个主机上都有


这是我的 main.php

<?php
mysql_connect('192.168.8.136','root','admin') or die (mysql_error());
echo "Connected to MySQL server";

mysql_select_db("web") or die …
Run Code Online (Sandbox Code Playgroud)

mysql php

1
推荐指数
1
解决办法
3万
查看次数

如何告诉 php-fpm 将 php 错误日志发送到 nginx 错误日志?

当我使用 apache/mod_php 时,PHP 错误会出现在 apache 的错误日志中。

现在,我通过 fcgi 将 php-fpm 与 nginx 一起使用,是否有可能在 nginx 错误日志中也有 PHP 错误日志?

到目前为止,唯一的解决方案是使用 php.ini 中定义的外部文件

error_log = /tmp/php_errors.log
Run Code Online (Sandbox Code Playgroud)

但为了便于维护,我希望它们在 nginx 错误日志中。

php nginx php-fpm

1
推荐指数
1
解决办法
4680
查看次数

在 Centos 6.4 上切换 PHP 版本

我使用 CentOS 6.4,我有 Apache 2.2 和 MySQL,但 PHP 版本是 5.5.1,这对我来说是一个问题,因为我们开发的应用程序使用 php 5.3 和更低版本。我使用本教程安装所有内容:http : //www.if-not-true-then-false.com/2010/lamp-linux-apache-mysql-php-on-fedora-centos-red-hat-rhel/

胸围我在网络上找不到任何答案来正确配置服务器以使用 cgi 或 fastcgi 切换 php 版本。

你能帮助我吗?

php centos apache-2.2

1
推荐指数
1
解决办法
4233
查看次数

为什么只使用 SSL 保护一个页面而不是整个网站被认为是不好的做法

我知道使用 SSL 保护所有页面会减慢网站速度并增加服务器资源的开销。

我还看到许多其他网站只保护他们的登录和注册页面,我也想在运行 apache 的服务器上这样做。

为什么只保护输入用户密码的页面而不是整个站点被认为是不好的做法?

另外,https://mysite.com/login.php我应该以这种方式更改为 https ,而不是使用类似的东西:https://secure.mysite.com/login.php

php ssl encryption ssl-certificate apache-2.2

1
推荐指数
1
解决办法
2443
查看次数