我最近使用 apache 配置了加速器和 fastcgi:http : //secure-ubuntu-server.blogspot.com/2009/07/howto-performance-tuning-of-lamp-and.html
现在我的 Apache 永远不会启动。
日志显示:
Mon Jul 20 16:12:24 2009] [notice] ModSecurity for Apache/2.5.6 (http://www.modsecurity.org/) configured.
[Mon Jul 20 16:12:25 2009] [notice] FastCGI: process manager initialized (pid 10919)
[Mon Jul 20 16:12:25 2009] [alert] FastCGI: read() from pipe failed (0)
[Mon Jul 20 16:12:25 2009] [alert] FastCGI: the PM is shutting down, Apache seems to have disappeared - bye
Run Code Online (Sandbox Code Playgroud) 我有一个运行 Ubuntu、Apache 2 和 PHP5 和 Slicehost 的 LAMP 盒子。我对所有这些系统管理员的东西都有些陌生(我主要是一名 Web 开发人员)。
我需要在 PHP 中使用 IMAP 函数,但根据 phpinfo() 似乎没有启用它们。我如何启用它们?
我在网上能找到的所有信息都说我需要重新编译 PHP 才能添加它,但我不知道如何做到这一点。
任何建议将不胜感激。谢谢。
我使用 Web 平台安装程序在 Windows 7 64 位机器上的 IIS 上安装了 PHP 5。我使用 PHPStorm 作为我的 PHP IDE,但找不到任何有关如何进行调试的文档。PHPStorm 启动了我的 PHP Web 应用程序,但断点没有得到它。
任何帮助表示赞赏。
我正在 VM 上运行 Ubuntu 服务器,以测试不同的网络论坛解决方案。我已经设置了一个 ~/public_html/ 可以通过 apache2 Web 服务器访问,并且工作正常。
但是,当我在浏览器上访问 .php 文件(使用我的 VM 的 ip-address/~username/phpfile.php)时,它不会按应有的方式显示它。相反,它提供保存到文件/询问用什么程序打开它。有趣的是,尽管该对话框确实识别出它是一个 php 文件。
我在系统上安装了以下版本的 php:
PHP 5.3.2-1ubuntu4.5 with Suhosin-Patch (cli) (built: Sep 17 2010 13:49:46)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
Run Code Online (Sandbox Code Playgroud)
以及以下服务器:
Server version: Apache/2.2.14 (Ubuntu)
Server built: Nov 18 2010 21:19:09
Run Code Online (Sandbox Code Playgroud)
如果有人知道可能导致此/潜在解决方案的原因,那会让我非常高兴:)
编辑:原来文件这种行为只在 ~/public_html/ 目录中的文件上很明显。/var/www/ 中的所有 php 文件都可以正常工作。
谁能解释为什么有奖?:D(我所说的奖品只是说做得很好,恐怕没有实际奖品。)
我需要在脚本中获取 DNS 的最新 A 记录。该脚本正在执行一些监视操作。DNS 记录的默认 TTL 为 5 分钟,但监控脚本每分钟运行一次。我正在使用 PHP 的函数 dns_get_record 来获取 A 记录,但我想知道是否有一种方法可以忽略 TTL 缓存并从 DNS 服务器中获取记录而不是缓存。
当然,有什么方法可以强制执行此操作,以便不适用网络级缓存,并且每次运行脚本时,它实际上都会命中 DNS 服务器?
感谢斯帕什·古普塔
最近我发现我的服务器Centos 2.6 版中没有安装 mysqli 扩展。我确认这是因为我将数据库连接的驱动程序从 更改mysqli为mysql并且现在工作正常。那么,是否有另一种方法/日志来确定这个问题?因为 apache error_log 没有说明任何事情。
这确实不是问题,但将来可能会更复杂。为什么?因为使用 mysqli 驱动程序,网站死了,空白页没有错误/警告来帮助我排除故障。我不喜欢发现魔术艺术或每行测试线的问题的想法。应该是一些帮助我调试它的日志文件。
为了提供信息来帮助解决这个问题,我做了:
cat /proc/version
Linux version 2.6.18-308.el5.028stab099.3 (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46))
Run Code Online (Sandbox Code Playgroud) phpinfo说文件位置是/etc/php5/fpm/php.ini.
.ini解析的其他文件
/etc/php5/fpm/conf.d/curl.ini,
/etc/php5/fpm/conf.d/gd.ini,
/etc/php5/fpm/conf.d/mcrypt.ini,
/etc/php5/fpm/conf.d/mysql.ini,
/etc/php5/fpm/conf.d/mysqli.ini,
/etc/php5/fpm/conf.d/pdo.ini,
/etc/php5/fpm/conf.d/pdo_mysql.ini,
/etc/php5/fpm/conf.d/xcache.ini
Run Code Online (Sandbox Code Playgroud)
看着他们,他们都没有任何处理post_max_filesize或 的东西upload_max_filesize。
我在php.ini文件中编辑它并重新启动nginx和php5-fpm服务。变化不会发生。文件仍在编辑中。我试过重新启动计算机。
NGINX是否将它缓存在我需要删除的某个地方以便这些更改生效?
我试过了 php -i | grep ".ini"
它告诉我路径 php.ini is Path => /etc/php5/cli/
phpinfo() 告诉我它的 /etc/php5/fpm/
我已经编辑了两个都没有运气。
如果我这样做,php -i | grep "post_max"
它告诉我它是20M,phpinfo 仍然说8M。
我已将 PHP5 添加到 UBUNTU 12.04
sudo add-apt-repository ppa:ondrej/php5 -y
Run Code Online (Sandbox Code Playgroud)
并安装了 PHP5
php5 php5-common php5-mysql php5-xmlrpc php5-cgi php5-curl php5-gd php5-cli php5-fpm php-apc php-pear php5-dev php5-imap php5-mcrypt
Run Code Online (Sandbox Code Playgroud)
但是我找不到两个包
php-xml and php-mbstring
Run Code Online (Sandbox Code Playgroud)
知道他们现在如何称呼吗?
非常感谢,
I am having some troubles with CPU loading an memory with Apache Web Server.
We are running a Ubuntu Server 12.04 LTS on a Virtual Machine. Our server have the following specs:
We configured the server to run a Drupal (7.23) based website. So, we installed Apache, PHP, MySQL... The versions are below:
我有一个网站,它使用会话变量(在 PHP 中)来了解访问者是否正在进入网站。如果他是新来的,那么我会将他重定向到检测到的语言。但如果他不是新人,你可以让他去任何他想去的地方(甚至是其他语言的页面)。
问题是用于实现此目的的变量 ($_SESSION["knownvisitor"]) 不是持久的。我在其他服务器上测试了同一个网站,它工作得很好,所以我很确定这是一个会话配置问题。有问题的服务器是带有 Apache 2.2.22 和 PHP 5.3.10 的 Ubuntu Server 12.04.4。
会话存储在“/var/lib/php5”中,我可以在那里看到文件,但它们是空的。会话文件属于“www-data”并具有以下权限“-rw-------”。另一方面,该目录属于“root”并具有“drwx-wx-wt”这些权限。
我尝试在重定向之前使用“session_write_close()”,正如某些论坛中所推荐的那样,但没有成功。重定向类似于“header('Location: [URL]')”。
这是脚本的代码,因此您可以了解其基本行为。这是我放在我的网络中所有文件开头的内容:
function detectedlang($availlangs)
{
// FUNCTION STUFF HERE TO FIND OUT WHICH IS THE LANGUAGE OF THE VISITOR
return $detectedlang;
}
session_start();
if (!isset($_SESSION["knownvisitor"]))
{
$detectedlang = detectedlang(array("en", "es"));
$_SESSION["knownvisitor"] = true;
header("Location: http://www.mysite.com/".$detectedlang);
}
Run Code Online (Sandbox Code Playgroud)