Articles of PHP

什么操作系统,硬件,以及如何优化高stream量的服务器

我使用的框架叫做SocialEngine.net v4,它完全是用Zend编写的,所以它非常强大。 SocialEngine在PHP中,使用MySQL。 我需要知道什么操作系统,你build议什么硬件(双XEON,AMD,多less内存等),以及如何正确地优化它来处理大量的stream量。 我知道它可以处理大量的负载,因为这是它的devise目的,并且我已经阅读了关于用100k +用户运行社交引擎的人。 我现在只有11k用户,运行速度非常慢,我正在说7秒的页面加载时间。 然而,框架确实有memcached,并且安装了cac选项,但即使select了这些选项,它也没有足够大的差别。 我需要知道什么是最好的方式来攻击这是至于优化MySQL,InoodB的调整,Apache的调整,任何性能调整,什么types的硬件和RAM的金额。 我有一个非常大的营销计划,可能会开始增加每天1000多个注册stream量,所以stream量会开始逐步上升。 当我最初上市时,我在6个小时内完成了5万个唯一身份,20万个注册,以及500万个综合浏览量…(服务器崩溃,失去了一半的用户…因为我一直在尝试重build, 对不起,这很长的解释,但我真的需要帮助,所以谢谢你!

大量的DNS查找

我们在LAMP上托pipe的内部应用程序网站的加载速度非常慢。 用萤火虫,我们得到这个: 这些文件中的大部分都是.js,并且所有内容都位于同一个域中。 我们无法find为什么有这么多DNS查询,这是疯了! 你能帮我们吗? 谢谢 !

php curl扩展问题,ubuntu

我已经安装(作为根) aptitude install curl php5-curl libcurl3 libcurl3-dev 并添加extension = curl.so到我的php.ini(我认为这不是自动完成的,因为我使用的是Lighty而不是apache) service lighttpd restart 但仍然没有运气,当我运行phpinfo()时没有任何关于cURL的信息 curl.so位于/ usr / lib / php5 / 20090626

如何重写url(\ img?src = foo.jpg)中的查询string到cachableurl(\ img-foo.jpg)?

现在部分解决的问题。 一个能够stream利地讲Apache的天才可以照亮这个事情。 GIVEN:大多数代理服务器,不要使用“?”来caching资源 即使在响应中存在Cache-control:public头部,它们的URL也是如此。 要为这些资源启用代理caching,我必须从对静态资源的引用中删除查询string,而不是将参数编码到文件名称中。 目前有 <img src="/imgcpu?src=folder1/photo_citty.jpg&w=3500&h=10&c=p&q=90" /> <img src="/imgcpu?src=folder2/photo_doggy.jpg&w=100&h=200&c=p" /> <img src="/imgcpu?src=folder3/photo_birds.jpg&w=200&h=500&f=bw" /> <img src="/imgcpu?src=folder3/photo_frogs.jpg&w=200&f=bw" /> 想 <img src="/IMG-folder1/photo_citty.jpg_w3500_h10_cp_q90" /> <img src="/IMG-folder2/photo_doggy.jpg_w100_h200_cp" /> <img src="/IMG-folder3/photo_birds.jpg_w200_h500_cs_fbw" /> <img src="/IMG-folder3/photo_frogs.jpg_w200_fbw" /> 图像将驻留在根目录下的1个文件夹中(永远不会更深) img.php?src =或者img?src =将永远被永远命名 我知道“img?src =”是一个不好的部分,已经处理了: # Rewrite imgcpu?src= thumbnail maker to nice static urls RewriteRule ^IMG-(.*) /imgcpu?src=$1 [L] 但其余的我坚持。 任何和所有的线索是非常受欢迎的。 谢谢。 进展 IMG-folder1/photo_citty.jpg&w=3500&h=10&c=p&q=90 […]

如何解决这个内存使用情况?

我有一个分类网站。 我使用PHP,MySql和SOLR。 Solr使用一个Servlet容器,在我的情况下是Java应用程序JETTY。 我只是注意到我的网站上出现了很大的错误。 我打开terminal,进入“顶部”命令,注意到JAVA是所有的CPU和MEM。 现在我想“好吧,也许我需要更多的内存和CPU”所以我增加了它。 但随着增加的Java应用程序开始吃更多。 这从来没有发生过,这是一个错误,或者某种types的黑客。 无论如何,我现在需要解决这个问题,所以我想知道我该怎么做? 我可以以某种方式准确地确定何时内存使用开始从一些错误日志上升? 如何解决这个问题? 我如何防止它? 如果它们在时间轴内,是否有可能防止太多的请求? 谢谢

使用Mod_rewrite重写所有的子域名请求,我做错了什么?

我试图这样做,使所有使用子域名的请求被重写,这样他们被发送到服务器作为“常规”的请求没有子域名。 我已经创build了下面的mod_rewrite代码,但似乎并没有工作。 任何意见是极大的赞赏。 Options +FollowSymlinks RewriteEngine on RewriteRule (.*?).mydomain.com/(.*) http://mydomain.com/$2 我希望一切仍然出现在用户的地址栏窗口中: http://subdomain.mydomain.com/$2 (其中$ 2是他们最初在地址栏中input的path)

为什么Apache使用mod_wsgi + mod_php导致分段错误?

我在OS X 10.6上使用Macports来pipe理Apache,PHP和Python。 我从来没有遇到任何问题,安装程序很好。 但是,当我添加mod_wsgi混合Apache立即崩溃与分段错误。 以下是通过macports安装的内容: apache2 @ 2.2.17_0 + preforkmpm php5 @ 5.3.3_1 + apache2 + pear python27 @ 2.7.1_0 mod_wsgi @ 3.2_0 + python27 在安装mod_wsgi之后,将它添加到httpd.conf中,然后重新启动apache,它每次都会发生故障。 我没有安装mod_python。 如果我通过从httpd.conf中注释掉mod_php,Apache运行正常。 所以这显然是导致崩溃的mod_wsgi和mod_php的混合体。 有什么不对的想法? 当两者一起运行时,如何避免seg故障?

为什么我不能使用这个Nginx + Ruby On Rails + WordPress设置访问wp-admin?

这是我的单个Linux VPS设置: 一个由Nginx背后的瘦应用程序服务器运行的Rails应用程序。 由同一个Nginx服务器的lighttpd的spawn-fcgi运行的一个WordPress博客。 这是我想要的: 这两个应用程序在同一个域下运行。 所有以/ blog或/ wp-开头,或以.php结尾的URI都应该到达fastcgi服务器。 其他一切都应该去瘦服务器。 这是我的问题: 我的Rails应用程序工作正常。 我的WordPress博客的正面工作正常。 但是,我不能访问WordPresspipe理面板(/ wp-admin或/wp-login.php)。 这个问题必须与我的Nginx的conf。 这是我的Nginx conf: upstream myserver { server unix:/tmp/myserver.0.sock; server unix:/tmp/myserver.1.sock; } server { server_name myserver; root /path/to/rails/app/public; index index.html; access_log /path/to/rails/app/log/access.log; error_log /path/to/rails/app/log/error.log; <snip> location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect false; if (-f […]

PHPparsing器错误

我不明白为什么会显示以下消息:“ parsing错误:parsingC:\ wamp \ www \ aaa \ tftp scripts \ testTFTP_r3.php在第45行中的错误 ” 每次我尝试执行如下的PHP脚本: <? //telnet require_once "PHPTelnet_config.php"; $telnet = new PHPTelnet(); $result = $telnet->Connect('192.168.100.30','',''); if ($result == 0) { //echo $username1; $telnet->DoCommand($username1, $result); // NOTE: $result may contain newlines //echo $result; $telnet->DoCommand($password1, $result); // NOTE: $result may contain newlines //echo $result; // say Disconnect(0); […]

如何使用OpenSSL命令行复制sha256散列与盐?

使用PHP的crypt函数如下,我可以做一个sha256散列盐和多轮。 php -r "echo crypt('foo','\$5\$rounds=5000\$saltsaltsaltsalt');" 生产: $5$rounds=5000$saltsaltsaltsalt$5RbfsOruKYb8v7hGn29A.I91maopNeJ2nIFH.SIEnSC 我如何使用OpenSSL命令行程序执行这个确切的过程(和/或validation散列)?