我已经迁移到nginx设置〜2个月前的php5-fpm。 一切都很好,直到几天前,当我注意到我的PHP网站没有响应(浏览器只是等待数据,最终超时)。 重新启动php5-fpm帮助。 这是我的/var/log/php5-fpm.log的结尾: [09-Feb-2013 07:22:46] NOTICE: [pool www] child 26802 started [09-Feb-2013 20:09:07] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it [10-Feb-2013 07:22:40] WARNING: [pool www] child 5986 exited on signal 11 (SIGSEGV – core dumped) after 40414.794799 seconds from start [10-Feb-2013 07:22:40] NOTICE: [pool www] child 13596 started [11-Feb-2013 07:22:14] […]
我的问题是有什么优势使用nginx作为反向代理时,大部分内容是通过PHPdynamic生成的? 就我而言,nginx在将静态内容caching到caching中并一次提供多个请求方面非常有用。 这是真的 ? 或者运行nginx作为反向代理在PHP驱动的dynamic内容网站中是否还有其他优势?
我今晚要迁移一个LAMP服务器,它使用php和MySQL与apache在centos上。 我想阻止人们访问网站/数据库,而我备份。 停止httpd是否足以阻止人们访问数据库,并且在这段时间内能够执行mysqldump吗? 有没有其他的数据库连接器连接到这个mysql,而不是作为一个Apache模块运行的PHP。
我在我的/etc/my.cnf更改了我的MySQL数据集和套接字位置,如下所示: [mysqld] #–default datadir #datadir=/var/lib/mysql #–new datadir datadir=/data/lib/mysql #–default socket #socket=/var/lib/mysql/mysql.sock #–new socket socket=/data/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # slow log log-slow-queries=/var/log/mysqld-slow.log long-query-time=1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [client] #–default socket #socket=/var/lib/mysql/mysql.sock #–new socket socket=/data/lib/mysql/mysql.sock 如上所述写mymyf之后,我用/etc/init.d/mysqld restart启动了mysqld。 我能够通过我的terminal使用mysql -uroot -ppassword连接到我的MySQL,并且我的数据一直存在,所以这里没有问题。 但是当我尝试连接到一个简单的index.php如下MySQL: <? $link = mysql_connect('localhost', 'root', 'password', TRUE); echo $link; […]
我遇到问题执行一个validation绑定对服务器。 这些问题似乎没有在代码中,但也许是一个服务器问题。 就这样你知道; LDAP在Apache / PHP中启用 我以[email protected]身份进行连接 域控制器有LDAP运行,并在防火墙(Windows Server 2008 R2)中的条目问题可能在这里,这是作为一个DC设置,并在默认情况下运行LDAP。 我没有在LDAP上进行特殊configuration 我可以执行一个匿名绑定,但不是一个authentication的 我可以用这个脚本匿名绑定; $ldapconn = ldap_connect("machinename.domain.com") or die("Could not connect to LDAP server."); if ($ldapconn) { // binding anonymously $ldapbind = ldap_bind($ldapconn); if ($ldapbind) { echo "LDAP bind anonymous successful…"; } else { echo "LDAP bind anonymous failed…"; } } 但是,当我尝试使用此脚本进行身份validation的绑定时,它将失败。 // Authenticated Bind […]
我是Windows Server 2008上的IIS的新手 我的问题基本上是如何改变PHP.ini的path,由于phpinfo(); 我的映射模块链接到我的PHPconfiguration从C:\windows加载: C:\PHP5.4 那么我将如何去改变这个问题,我已经对这个主题进行了一些研究,但是没有给我提供一个解决scheme。 我在WIndows Server 2008上运行带有映射模块PHP5.4的IIS 6.0
我正在使用Linux平台上部署的PHP项目进行集成LDAP身份validation。 我成功地从命令行完成了ldapsearch,从php代码完成了非SSL连接。 谈到SSL连接,我无法使其工作。 我在想,如果我可以使命令行的LDAPsearch工作,处理PHP方面将不会是一个问题。 我正在使用CentOS,下面是我的search结果查询模式 – 适用于端口3268上的非SSL请求,但端口3269失败,出现两个错误ldap_start_tls: Can't contact LDAP server (-1)和ldap_bind: Can't contact LDAP server (-1) 。 我已经search了这个查询,它导致我谈论Kerboros身份validation,我不想要的页面。 任何帮助将不胜感激。 SSL [Test]$ ldapsearch -x -h ldap.internal.company.com -D "CN=personName,OU=EUS, DC=company,DC=com" -p 3269 -b "dc=company,dc=com" samaccountname=personName -Z "/etc/openldap/cacerts/test.cer" -w "<<MyPassword>>" ldap_start_tls: Can't contact LDAP server (-1) ldap_bind: Can't contact LDAP server (-1) 非SSL [Test]$ ldapsearch -x -h […]
我试图连接到这里提供的卸载的SQL服务器。 它说,我应该连接使用内部IP 172.16.0.51 。 我在我的VPS上安装了nginx和PHP(php5-fpm,php5-mysql)。 phpinfo()也适用。 但是,当我尝试连接到服务器时,出现以下错误。 我试图使用其外部IP连接到服务器,但我仍然得到相同的错误。 SQLSTATE[28000] [1045] Access denied for user 'myuser'@'AAA.BBB.CCC.DDD' (using password: YES) AAA.BBB.CCC.DDD是我的VPS的IP,而不是服务器的IP。 这很奇怪,因为在连接服务器时我没有指定这个IP。 这里是我使用的PHP代码。 try { $dsn = 'mysql:host=172.16.0.51;dbname=myuser_mydatabase;charset=utf8'; $db = new PDO($dsn,'myuser','mypassword'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); } catch (PDOException $e) { echo 'PDO error: ' . $e->getMessage(); exit; } 我在这里做错了什么? 编辑:仅供参考,用户myuser是我注册卸载的SQL时给予的默认用户。 我查了一下,它已经把所有的资助都给了所有的数据库。 我还通过cPanel创build了一个新的数据库和用户,并授予适当的访问权限。 我仍然无法得到这个工作。 我犯了同样的错误。 EDIT2:我将我的vps的IP地址添加到cPanel允许的主机列表中,但是这也没有解决问题。 编辑3:请看我的答案。
我们正在使用capistrano来部署我们的PHP应用程序。 并在生产服务器上启用了php-apc,apc.stat = 0.在capistranoconfiguration中,有一个规则可以在部署后清除apccaching:update: after "deploy:update", "clear_apc_cache" caching成功清除:apc.php'查看主机统计'显示0分钟的正常运行时间,caching的文件数量和命中接近0(不是0,因为有相当多的stream量和一些文件caching之前,我们可以检查apc.php) 问题是,有时旧文件仍然被caching在apc中。 我认为这是由于在capistrano更新“当前”符号链接之前启动的HTTP请求,在我们清除apccaching后结束。 在这种情况下,在这个请求中apc清除之后包含的文件仍然来自旧的修订文件夹(我们在include中使用相对path并且需要 s)并保存在apccaching中 有没有办法来永久解决这个问题? 没有更新所有包括和要求 ? 现在我会尽量延迟“clear_apc_cache”一两秒钟,但是恐怕在延迟期间会引起别人的问题(有些请求还可能超过2秒)
我们正在使用PHP Web应用程序运行CentOS 6。 在我们推出一个新的版本后,似乎我们有一个内存问题,但是top不显示任何高使用率的实例。 我环顾四周,人们build议free检查,以检查它是否正被caching使用。 结果表明,它被caching以外的进程使用。 我想知道哪个方向开始寻找,并有任何build议,如果有的话。 非常感谢 – 马特