标签: php

PHP memory_limit 本地值与 php.ini 值不匹配

CentOS系统。

总结:更改了 master 和本地 php.ini 中的 memory_limit,但特定虚拟主机的本地值没有变化。

为了提高性能,我在 /etc/php.ini 中将 memory_limit 设置为 1024M

phpinfo() 将服务器上其他虚拟主机的 Master 和 Local 值显示为 1024M。更改 /etc/php.ini 中的值会更改所有值,但一个除外。

一个站点的本地值为 256M。

我以为我发现了问题:该站点的根目录中有一个 php.ini 文件(我不知道),它有

memory_limit = 256M
Run Code Online (Sandbox Code Playgroud)

我把它改成了1024M。问题解决了?不。现在我不知道去哪里找。显然,我已经重新启动了 apache(/etc/init.d/httpd restart),这通常可以解决问题。

我还关闭了 APC 缓存,但我认为它不会缓存 ini 文件。

最后,我尝试将其添加到 httpd.conf 中的虚拟主机:

php_value memory_limit 536870912
Run Code Online (Sandbox Code Playgroud)

(是的,那将是 512MB)这没有任何影响。

还有什么问题?

谢谢。

php memory httpd.conf virtualhost php.ini

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

如何在 CentOS 5.8(32 位)上升级到最新的 PHP、MySQL 和 phpmyadmin?

我在互联网上四处搜索,但找不到在 CentOS 5.8 32 位和 apache 上安装最新版本的 PHP、MySQL 和 phpmyadmin 的可靠来源。我试过几次,没有运气。每次都损坏了我的服务器。

我厌倦了假设什么是正确的并搞砸了我的服务器/浪费时间。我想我会来这里得到一个真正有效的合法答案,直接来自知道他们实际在做什么的社区。

如果可以使用 YUM 来完成未来的自动更新,那也会很酷。

mysql php centos centos5

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

我的网络服务器是否允许预取?

我有一个基于图像的网站,其中包含多个画廊。当用户单击其中一个图像时views,特定图像的属性会增加。但是,我注意到在使用 Firefox (14.0.0.1) 时它会增加两次视图,而不那么复杂的浏览器(例如 K-meleon)会增加一次属性 - 应该如此。

然后有人在 stackoverflow 上指出,这可能是由于现代浏览器中的预取导致 PHP 脚本从数据库中获取图像并增加要执行两次的视图。因此,检查我的 apache access.log 我注意到 Firefox 确实请求每个图像两次:

Firefox/14.0.1" ::1 - - [03/Aug/2012:16:41:37 +0100] "GET /imgsite/getImg.php?id=23 HTTP/1.1" 200 57362 " http://localhost /imgsite/index.php " "Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0.1" ::1 - - [03/Aug/2012:16:41:37 +0100] " GET /imgsite/getImg.php?id=23 HTTP/1.1" 200 57362 "-" "Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0.1"

然后我阅读了 .htaccess 并尝试了几种阻止 Firefox(或 chrome)发送的预取标头的方法,但这些标头不应该出现在上面的代码段中吗?到目前为止,一切都没有奏效。这是我的 .htaccess 文件,它位于我网站的根 HTML 路径中:

RewriteEngine On
RewriteCond %{HTTP:X-moz} prefetch
RewriteRule . . [F,L]
Run Code Online (Sandbox Code Playgroud)

我已经尝试了上述其他更广泛的变体,但仍然无济于事。我的 apache …

php .htaccess http-headers

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

仙人掌图不显示

我已经为仙人掌创建了 php 脚本,它以如下格式输出数据:<variable>:<value>
我的脚本的输出:temperature:20 humidity:15 然后我创建了数据输入方法,其中输入字符串是:php <path_cacti>/scripts/getTempHumData.php <host> 脚本放置在仙人掌文件夹/脚本中。
输入字段是主机名 - 在脚本中我将它用作 $ARGV[0] 变量。
输出字段有两个 - 温度和湿度。
然后我将该脚本分配给设备,添加它需要的所有内容,关闭设备的 SNMP 使用。设备状态为“启动”。
然后我创建了图形模板和图形并将其分配给图形树。但是无法看到图形 - 它只是显示无法找到图像(浏览器中的小红色 x)。
我编辑了我的脚本以传递相同格式的常量值,我查看了 cacti/log/cacti.log 但我的主机 IP 没有条目。
此外,没有图形需要的 rrd 文件 - 在调试模式下它尝试创建,但没有创建 rrd 文件。同样在数据源路径中,指向的 rrd 文件也不存在。
我该如何解决这个错误?
先感谢您。

脚本代码:

<?php
/*$content = file_get_contents("http://".$ARGV[0]);
$air_temperature = null;
$air_humidity = null;

$xml = simplexml_load_string($content);
$air_temperature = $xml->Item[1]->Value;
$air_humidity = $xml->Item[2]->Value;

echo "temperature:".$air_temperature." humidity:".$air_humidity;*/
echo "temperature:20 humidity:15";
?>
Run Code Online (Sandbox Code Playgroud)

RRD 文件不是自动创建的,当然在运行我打开调试时给出的命令后,我得到了我的 rrd 文件。但是为每个需要的值显示 NaN 值。

scripting php cacti

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

从 php53u 到 php54 的优雅升级

我们正在使用 iuscommunity repo 运行 CentOS 6 节点,并且想要将之前安装的 php53u 升级到 php54。

但是,这会在 php53u 和 php54 之间引入依赖冲突。有没有人对这个问题有想法?

--> Running transaction check
---> Package php54-fpm.i686 0:5.4.5-1.ius.el6 will be installed
--> Processing Dependency: php-common = 5.4.5-1.ius.el6 for package: php54-fpm-5.4.5-1.ius.el6.i686
---> Package php54-gd.i686 0:5.4.5-1.ius.el6 will be installed
---> Package php54-mbstring.i686 0:5.4.5-1.ius.el6 will be installed
---> Package php54-pecl-apc.i686 0:3.1.11-2.ius.el6 will be installed
--> Processing Dependency: php54 >= 5.3.5-1 for package: php54-pecl-apc-3.1.11-2.ius.el6.i686
--> Running transaction check
---> Package php54.i686 0:5.4.5-1.ius.el6 will be installed
--> Processing Dependency: php54-cli …
Run Code Online (Sandbox Code Playgroud)

php centos php-fpm alternative-php-cache

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

我要下载什么才能获得 Apache 2.0.x + PHP 4.4.x 环境?

我要下载什么(在 Windows 机器上)才能获得 Apache 2.0.55 + PHP 4.4.7 环境?我对较新版本的 PHP 和 Apache 没问题,但如果我想在具有较旧版本 Apache 和 PHP 的旧 SunOS 服务器上模拟环境。任何人都可以推荐我应该使用的下载以及从哪里获得它们?

php zend-framework apache-2.2

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

PHP 处理程序(CGI vs FastCGI vs Mod_PHP vs suPHP)有什么区别?

我知道有四种不同的 PHP 处理程序(AFAIK)。

  • CGI (php-cgi)
  • FastCGI (php-fpm)
  • Mod_PHP
  • 超级PHP

我需要知道这些处理程序的优缺点以及每个处理程序适合哪些环境?

例如,如果我正在运行共享托管服务器,上述哪个处理程序适合我?或者,如果我正在管理私人服务器?

php mod-php php-fpm suphp php-cgi

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

Nginx + PHP-FPM = 502 错误网关

我刚刚启动了一个新的 Rackspace 云服务器并运行了以下命令:

apt-get install php5 nginx php-fpm
Run Code Online (Sandbox Code Playgroud)

当我导航到 IP 地址时,我会看到默认的 Nginx 消息。然后我/etc/nginx/sites-available/default从另一个工作设置复制了我的文件:

server {

  listen 80;
  server_name localhost;

  root /srv/www;
  index index.php;

  location / {
    try_files $uri $uri/ /controllers$uri.php;
    location ~ \.php$ {
      try_files $uri /index.php;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

我创建index.php的/srv/www,并开始nginx和php-fpm:

/etc/init.d/nginx start
/etc/init.d/php5-fpm start
Run Code Online (Sandbox Code Playgroud)

我收到 502 Bad Gateway 错误。难道我做错了什么?

php nginx php-fpm

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

我真的需要 PHP maxlifetime 每小时 cron 作业吗?

在我的 Debian Wheezy 上,每半小时运行一次 cron 作业:

find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
Run Code Online (Sandbox Code Playgroud)

这将删除旧的 PHP 状态/会话文件。我想完全放弃这个 cron 工作,或者至少降低它的频率。在以下哪个用例中是可能的?

  1. 没有运行 PHP 代码的服务器
  2. 一个带有 PHP 的奇怪页面的服务器,但没有像 CMS 那样严重
  3. 运行一些 PHP CMS 的服务器,具有用户会话,但页面浏览量不多(比如每月最多 50,000)

maintenance php frequency web-server cron

5
推荐指数
0
解决办法
9919
查看次数

Nginx 中的不同 PHP 配置

我有一个 web 服务器运行多个服务器(虚拟主机),使用 nginx 和 fastcgi 传递给 unix-socket。

我想要完成的是使用 beta.example.com 和 live.example.com 进行设置,其中实时站点的 error_reporting 已关闭(但仍记录到文件),而 beta 站点的 error_reporting 已打开。

因此,对于 Apache,我会在以下方面做一些事情:

<VirtualHost *:80>
    ServerName beta.example.com

    [...]

    php_flag display_errors on
    php_flag display_startup_errors on
    php_value error_reporting -1

    [...]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

在谷歌搜索时,我没有找到任何可以使用 fastcgi 将此类参数传递给 PHP 的地方。有谁知道如何做到这一点?

现在的配置是(简化):

server {
    server_name beta.example.com;
    [...]
    fastcgi_pass unix:/var/run/nginx/php-fastcgi.sock;
    fastcgi_index index.php;
}
Run Code Online (Sandbox Code Playgroud)

php nginx fastcgi php.ini

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