Articles of PHP

需要工作指南来安装最新的Apache或Nginx,PHP和MySQL的生产

好吧,我被告知现在安装Apache / Nginx,PHP,MySQL的最好和最简单的方法是使用apt-get或类似的包pipe理器为你的特定发行版插入软件。 这样做的好处是您可以使用可靠的软件包,并且可以在生产中轻松更新它们。 现在我正在使用Ubuntu 12.04,并且热衷于这个软件的最新版本: Apache 2.4.x 或 Nginx 1.2.x PHP 5.4.x MySQL 5.5.x 然而,我所遇到的每一个指南似乎都让我安装所有这些东西,但是在完成所有configuration之后,它并没有结束工作,我不知道出了什么问题或者如何解决这个问题。 到目前为止,我已经想出了: 1)使用这些说明安装dotdeb存储库: 2)安装Apache 2.2.22,PHP 5.4.3,MySQL 5.5.24: aptitude install mysql-server apache2 libapache2-mod-php5 php5-mysql php5-apc php5-curl 3)安装mod-rewrite软件包: a2enmod rewrite 现在这个工作,我可以得到一个phpinfo()运行并正确显示并连接到数据库。 然而,这只能得到我的Apache 2.2.22(我宁愿2.4.x为最新的速度增加),也无法得到mod重写工作,它只是拒绝redirect到index.php所以只有主页的作品。 我有htaccess的代码设置为: RewriteEngine on RewriteBase / # Forward any url without the listed extentions to index.php RewriteRule !\.(js|css|ico|txt|gif|jpg|jpeg|png|ttf)$ index.php 我不知道,这是Ubuntu的第五次安装,我现在不得不做,试图得到这个工作,但仍然在广场一个,没有得到任何地方。 […]

使PHP-FPM在'IPAddress:Port'处听,而不是'/var/run/php5-fpm.sock;'

正如我今天负载testing我的网站(使用blitz.io ); 尽pipe有大量的RAM(超过50%)和CPU能力(超过70%)可用,但结果表明,我的网站以每秒一定数量的并发用户开始超时。 我的网站(/var/log/nginx/example.com.error.log)的Nginx错误日志显示如下: 2013/02/12 19:03:57 [error] 13749#0:* 3175连接()到unix:/var/run/php5-fpm.sock失败(11:资源暂时不可用) 54.123.456.46,服务器:example.com,请求:“GET / HTTP / 1.1”,上游:“fastcgi:// unix:/var/run/php5-fpm.sock:”,主机:“example.com” 谷歌search的错误导致我这个答案 ,使用TCP \ IP连接,而不是unix套接字作为问题的解决scheme; 因为unix socket的“高负载情况下的问题是众所周知的” 。 所以,正如答案所build议的那样: 我用/etc/php5/fpm/pool.d/www.conf中的listen 127.0.0.1:9000replace了listen = /var/run/php5-fpm.sock 由于我的分配(Debian Wheezy)上没有/etc/nginx/php_location ,所以我什么也没做。 由于我使用fastcgi_pass unix:/var/run/php5-fpm.sock; 在我的网站的Nginxconfiguration文件中,即/etc/nginx/sites-available/example.com,我用fastcgi_pass 127.0.0.1:9000;取代了它fastcgi_pass 127.0.0.1:9000; 现在的问题是,当我访问我的网站时,出现502 Bad Gateway错误。 是的,我reload Nginx和PHP-FPM。 我究竟做错了什么? (这里总是新手,尽我所能去学习。) 如果这是相关的,当我做sudo service php5-fpm restart ,我得到这个错误: [FAIL] Restarting PHP5 FastCGI Process Manager: php5-fpm failed! […]

Linux服务器只显示php不是实际站点的源代码

我有点尝试将我的网站转移到Amazon EC2实例。 我build立了一切,现在当我打开我的网站,而不是看到网站,我只是看到源代码。 有什么我在安装过程中做错了吗?

我如何通过大量的并发用户来提高Drupal站点的性能?

我有一个Drupal站点,可能会在发布时获得非常高的命中率。 我们已经租了一个非常强大的服务器的初始发射,之后,我们将缩小。 该服务器有一个Xeon E5-2670 8核心处理器@ 2.6GHz和30GB的RAM。 MySQL已经被赋予了大量的内存,并且我已经证实MySQL实际上是通过“top”来使用这个内存的: innodb_buffer_pool_size = 15G PHP已经被赋予了大量的内存(现在几乎可以肯定是太多了,我注意到了“每个脚本”的评论): memory_limit = 6000M Apacheconfiguration是开箱即用的默认设置: StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 我一直在运行JMetertesting(基本上“尽可能多地在网站上抛出尽可能多的线程,并尽可能快地请求页面”),并且随着并发用户数量的增加,我可以看到性能下降: 5用户:〜1s平均响应时间 10个用户:约1.3秒平均响应时间 20个用户:平均2.5秒的响应时间 但是,机器的负载仍然很低。 在testing中,“top”报告26gb的内存空间,“uptime”的平均负载不超过0.63。 我的怀疑是,我们仍然有很多资源可以投入到性能上,但是Apache并没有充分利用这些资源。 这就是说,我是一个开发人员,而不是一个系统pipe理员,而且我不是服务器性能方面的专家。 我可以提高性能的最佳改进是什么?

CentOS 5启动时启动一个PHP脚本

我们在slicehost上有一个CentOS 5 VPS。 我有几个PHP脚本来操作电子邮件和东西。 我需要一种方法来在机器的重启/启动时自动启动这些php脚本,并让它们在后台运行。 如果脚本停止,奖励将有能力自动重启。 谢谢!

如何使用SSH会话login到您的服务器?

http://www.wallpaperama.com/forums/how-to-install-zend-optimizer-in-linux-server-t82.html 我正在尝试安装zend优化器。 这是一个痛苦 – 我已经尝试了3天! 使用SSH会话login到您的服务器 我怎么做? 解压缩(如安装指南中所述)? 我有GoDaddy Linux的托pipe帐户,用PHP 4.xxconfiguration!

Apache服务器性能监控

我最近用基本的LAMP栈(PHP / MySQL / Apache)设置了一个新的apache webserver。 我很好奇什么样的性能监控解决scheme是典型的 – 实际上,我只是在寻找一个很好的方法来衡量我设置的主机是否足够强大,以处理负载。 目前为止,我一直在用正常运行时间命令检查服务器上的负载,以检查历史平均值。 我也一直在检查Apache服务器状态页面(这是只在本地可见)。 无论如何,我不觉得这些是真正提供我所期待的。 我会感谢任何意见和/或在正确的方向推动。 谢谢一堆! 山姆

sendmail vs smtp服务器

我目前没有SMTP服务器设置。 但是,在我的PHP代码中,我将所有SMTP请求发送到sendmail。 有没有下降到使用这个程序? 如果是的话,将所有的STMP请求发送到“集中”SMTP服务器有什么好处?

得到了后缀和邮件工作,但电子邮件被认为是“垃圾邮件”,为什么?

我有一个Linux服务器,只是安装了postfix。 我是电子邮件服务器的新手… 无论如何,我能够发送邮件与PHP的邮件function,但他们被认为是谷歌邮件(也可能是大多数其他电子邮件帐户,还没有testinghotmail,雅虎等“垃圾邮件”)。 我猜测它与SPF有关,但是我不知道SPF是什么,如何修复它等等。 任何人都可以解释如何使我的电子邮件“非垃圾邮件”,他们不是? 操作系统是Ubuntu 9.10。 如果你需要更多的input,让我知道… 谢谢 PS:如何禁用所有传入邮件到我的后缀(电子邮件服务器),而不使用我的防火墙,也许通过使用main.cf?

为什么当文件存在时,crontab给出“没有这样的文件或目录”错误?

在以下作业在crontab中运行后,我在/ var / mail / username中的错误消息中得到以下三行… 15 * * * * /Applications/MAMP/htdocs/iconimageryidx/includes/insertPropertyRESI.php 错误: /applications/mamp/htdocs/iconimageryidx/includes/insertpropertyRESI.php: line 1: ?php: No such file or directory /applications/mamp/htdocs/iconimageryidx/includes/insertpropertyRESI.php: line 3: syntax error near unexpected token `'initialize.php'' /applications/mamp/htdocs/iconimageryidx/includes/insertpropertyRESI.php: line 3: `require_once('initialize.php'); 我试图执行的PHP脚本实际上是存在的,我已经绝对确定拼写是正确的几次。 我之前运行了另一个脚本的crontab,它工作得很好…任何想法? 第二个和第三个错误是来自第三行的脚本(我试图用crontab运行的): <?php require_once('initialize.php'); require_once('insertPropertyTypes.php'); $sDate; if(isset($_GET['startDate'])) { $sDate = $_GET['startDate']; } else { $sDate = ''; } $insertResi […]