标签: php

为什么 APC(或类似)会导致共享主机的性能问题?

我正在使用共享主机,但无法启用 APC。有一个关于该线程在这里,建议的唯一原因是为了安全(PHP,CGI VS mod_php的)。我询问了主机,他们说这是由于性能原因,特别是 I/O 会导致盒子关闭。我真的不明白 - 使用共享内存操作码缓存肯定会减少I/O?基本上,如果我正在建立一个共享托管公司(不是我可以!),我会认为使用缓存(如果安全性允许)来提高所有客户端的性能会很有意义。

任何人都可以为我解释一下吗?TIA

php cache shared-hosting

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

如何一次只从 cron 运行一次脚本?

我想运行一个 cron 作业。安排它很容易并且有效。

我的问题是我不知道如何一次只运行一个版本。

有任何想法吗?

G-Man

scripting php cron

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

Ruby on Rails 和 PHP 在同一个 Apache Web 服务器上?

所以我真的习惯了 LAMP 堆栈,并且在我的 Ubuntu 服务器上安装了 Apache 和 PHP,大约有 30 个 PHP 站点。我想在基于 Ruby on Rails 的站点上抛出一个新项目。是否可以继续使用 Apache 并将 RoR 项目放在 /var/www/ 中的所有其他项目旁边?

另外,在默认的 Ubuntu 服务器安装上安装 RoR 的最佳方法是什么?

谢谢!

php web-server ruby-on-rails apache-2.2

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

php 在一切结束时返回垃圾字符

php 似乎将垃圾字符添加到它在朋友网站上返回的所有内容的末尾。我不是服务器管理员,但我想提出知情投诉以解决此问题。

该网站是http://daytoncodebreakers.org。您可以在网站的每个页面的末尾看到一些垃圾(中间是问号,中间有其他东西)。我最初认为这是一个 wordpress 问题,但请查看http://daytoncodebreakers.org/whereisini.php(这只是对 phpinfo 的调用)和http://daytoncodebreakers.org/hello.php(这只是 '你好,世界')。

我不确定这是否是最合适的站点,但我认为这是服务器配置问题,所以我将其发布在这里(而不是 stackoverflow 或超级用户)。如果需要,请随意移动它。

更新:问题似乎已经解决了。

php

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

Debian PHP 5.3 APD 编译问题

我一直在试图安装APD在Debian使用pecl install apd。但是,进入make阶段时命令失败:

make
/bin/sh /src/apd-1.0.1/libtool --mode=compile cc  -I. -I/src/apd-1.0.1 -DPHP_ATOM_INC -I/src/apd-1.0.1/include -I/src/apd-1.0.1/main -I/src/apd-1.0.1 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /src/apd-1.0.1/php_apd.c -o php_apd.lo 
mkdir .libs
 cc -I. -I/src/apd-1.0.1 -DPHP_ATOM_INC -I/src/apd-1.0.1/include -I/src/apd-1.0.1/main -I/src/apd-1.0.1 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /src/apd-1.0.1/php_apd.c  -fPIC -DPIC -o .libs/php_apd.o
/src/apd-1.0.1/php_apd.c: In function ‘zif_override_function’:
/src/apd-1.0.1/php_apd.c:615: warning: ‘zend_get_parameters_ex’ is deprecated (declared at /usr/include/php5/Zend/zend_API.h:222)
/src/apd-1.0.1/php_apd.c: In function ‘zif_rename_function’:
/src/apd-1.0.1/php_apd.c:669: warning: ‘zend_get_parameters_ex’ is deprecated (declared at /usr/include/php5/Zend/zend_API.h:222)
/src/apd-1.0.1/php_apd.c: …
Run Code Online (Sandbox Code Playgroud)

php debian pecl

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

如何使新文件自动属于组?

我已经将 chgrp 用于“日志”和“缓存”目录,以及 chmod 770,因此分配到该站点的 linux 用户(用于从命令行执行脚本)和用户“apache”都可以读/写日志和缓存文件(因为两个用户都属于该站点的组)。

问题是当其中一个创建文件时,另一个无法写入或删除它。正在创建的文件归其创建者所有,但不属于该组。我认为在父目录中使用 chgrp 是解决方案。

有任何想法吗?

PS:我使用的是 Centos 5.5 和 PHP 5.3

linux php website centos chgrp

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

/var/www 下的 Apache 目录

我继承了一个 Apache 配置,其中有一个我不太了解的部分。目录路径有

/var/www/somedir.dev/
Run Code Online (Sandbox Code Playgroud)

如果你将浏览器指向

http://localhost/
Run Code Online (Sandbox Code Playgroud)

它实际上显示了来自 somedir.dev 目录而不是根目录的 index.php 文件。为什么会这样?是否有一些配置使默认设置为 /somedir.dev/ 目录?根下的任何东西都无法解决。如何让 root 下的东西再次被服务器识别?

谢谢,亚历克斯

ubuntu php apache-2.2

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

64 位、16 核盒上的 LAMP 堆栈消耗 100% CPU

===已解决===

这个问题解决了。事实证明,ImageMagick 在使用多个 CPU 时有问题。编译 ImageMagick 使用一个 CPU 解决了这个问题。

================

我添加了一个新的 Web 服务器作为升级,但它在几秒钟内就崩溃了。

旧盒子有 8 个 2.33GHz 的至强核心。新机拥有 16 个 2.40GHz 至强核心。新机内存为8G和32G。

另一个主要区别是从 32 位跃升至 64 位。

两者的操作系统都是 CentOS 5.6,Apache 也是 2.2.3-45。

PHP 是 5.2.10 并且是手工编译的。除了架构位之外,配置选项是相同的。

从所有这些信息中,你会认为新机器会尖叫,但当前的盒子处理负载并且偶尔会摔倒。新机器每次都在不到一分钟的时间内死亡。

内存很好,I/O 很好,但是 CPU 很卡。这是来自两者的 mpstat 的输出

旧盒子

09:14:18 PM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
09:14:20 PM  all   31.34    0.00    2.62    9.68    0.12    1.00    0.00   55.24  11163.50
09:14:20 PM    0   53.00    0.00    5.50   16.00    0.50    6.50    0.00   18.50  10249.50 …
Run Code Online (Sandbox Code Playgroud)

linux php central-processing-unit apache-2.2

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

OSX 不提供 PHP

好的,所以我首先要坦白……我一直在捣乱……而且我破坏了本地机器的行为方式。

顺便说一下,这里有一些基础知识。

  • 我正在运行 OS X 10.6.7
  • 我删除了默认的 Apache 安装并将其替换为 Apache的最新版本。
  • 我现在可以通过“localhost”从 /usr/local/apache2/htdocs/ 提供 HTML,这没关系。
  • 我不能提供任何 PHP(它只显示为纯文本)。

我确定要获得解决方案,我将不得不在此处发布一些配置文件,但我不确定您需要什么;会是什么?

这是我的 httpd.conf

php configuration apache-2.2

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

Gentoo 上的 PHP 线程

Gentoo 上的 PHP 支持threadsUSE 标志。据我所知,PHP 不支持真正的线程;我只知道可以使用 pcntl_fork() 进行分叉,但此功能由pcntlUSE 标志提供。那么threads如果 PHP 不支持线程,USE 标志到底有什么意义呢?

tl;dr - threadsUSE 标志在 Gentoo 系统上为 PHP 服务的目的是什么?

linux php gentoo threads apache-2.2

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