我正在尝试将Zend Optimizer加载到我自编的php中。 这里是我如何编译我的PHP: wget http://museum.php.net/php5/php-5.2.6.tar.gz tar xvfz php-5.2.6.tar.gz cd php-5.2.6 ./configure –prefix=/usr/local/php –with-apxs2=/usr/bin/apxs2 –with-config-file-path=/etc/php5/apache2 –with-config-file-scan-dir=/etc/php5/apache2/conf.d make install 但是,php.ini中的zend_extension指令被完全忽略。 如果我使用不存在的path,我甚至不会收到错误消息。 当使用预编译的php库时,一切工作正常。 在php.ini中我也设置 error_reporting = E_ALL & ~E_NOTICE display_startup_errors = On log_errors = On error_log = /var/log/php_errors.log error_log = /var/log/php_errors.log只会在php文件中发生错误时才写入。 在我设置的apache.conf ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel debug 我也尝试编译–disable-maintainer-zts –disable-safe-mode在另一个网站上提到的–disable-maintainer-zts –disable-safe-mode 。 我selectphp-5.2.6,因为它是(工作)预编译php的版本,但我也尝试过php-version 5.2.16。
我正在尝试保存会话,但事实并非如此。 刷新之后,它就像一个post一样消失。 这是我的脚本 if(isset($submitlogin)){ //Query setup $loginquery = "SELECT UserID, Password FROM Login WHERE UserID='".mssql_real_escape_string($username)."' AND Password='".$password."'"; $loginresult = mssql_query($loginquery); $countrows = mssql_num_rows($loginresult); if($countrows == 1){ $_SESSION['username'] = $username; $_SESSION['password'] = $password; } if($countrows != 1){ $login .= "<span style='color:red'>Login Failed</span>"; } } 它在我的笔记本电脑上工作,我不使用appserv。 有谁知道解决scheme?
我已经configuration我的服务器使用suexec PHP本周末。 现在我已经认识到,suexec也提供由root拥有的文件或世界可写的文件。 但是,在我看来,这不像在这里logging的标准行为。 那么,为什么suexec使用这个文件? 我使用Debian 6 Squeeze stable。 这有点像这个post的反面。
我一直在试图设置我的开发服务器来使用PHP 5.3.14通过CGI为我的Apache虚拟主机提供服务。 我设置的Apache服务器是Apache 2.2.3,PHP 5.2.10作为Apache模块运行。 CentOS 5.5是操作系统。 其中一个网站使用的function只能在PHP 5.3中使用,而且我的网站需要5.2,所以我只想运行CGI上需要PHP 5.3的网站。 我已经跟随了几个教程,我已经安装了Apache / PHP 5.2并作为一个模块工作。 我也下载和编译PHP 5.3.14成功到我已经build立了php-5.3.14 / sapi / cgi / php-cgi可执行文件,并准备好去。 如果我运行它与脚本它能正常工作。 但是,在将我认为正确的指令添加到VirtualHost之后,该站点仍然不使用PHP 5.3,而是继续使用PHP 5.2(将版本设置为Apache模块)。 这是我的Vhostconfiguration: <VirtualHost *:80> ServerName utfl.peapoddev.com ServerAlias elegal.utfl.peapoddev.com subsite.utfl.peapoddev.com library.utfl.peapoddev.com DocumentRoot /var/www/utfl/drupal DirectoryIndex index.html index.php SetEnv PHPRC /var/www/cgi-bin/php_5_3_14/ ScriptAlias /php-5-3-14/ /var/www/cgi-bin/php_5_3_14/ Action application/x-httpd-php-5-3-14 /php-5-3-14/php-cgi AddType application/x-httpd-php-5-3-14 .php .inc <Directory "/var/www/cgi-bin/php_5_3_14"> […]
我想知道什么是asp的mvc性能看起来像与nginx上的php比较。 IIS本身比nginx要求更高。 但是,它开始受益于一定数量的用户吗? 1)假设我有一台机器1.6GHz和1.75GB内存(参数形成Azure上最小的预留托pipe)。 他们会performance相似吗? 将需要多less观众来平衡最初的IIS要求? 2)现在让我们来谈谈eq GoDaddy提供的普通共享主机。 有相同的计划,我将能够服务的用户数量会有显着的差异吗? 当然,我们假设两个应用的function是一样的。 Eq一个大的互联网商店。
我有一个奇怪的问题与Wordpress,我不知道如何解决。 大约一个月前,我切换服务器,并把我的Wordpress文件和数据库从旧到新。 当时,我有旧版本的Wordpress,之前的版本需要php5(因为我没有它)。 当我成功地移动了一切,我升级了我的WordPress的最新版本。 我有一些插件的问题(不幸的是,我不记得哪些),我不在乎,所以我从插件目录中删除的文件。 一切似乎都很好,所以我就这样离开了,直到有一天我收到一封电子邮件,说我的博客被closures了。 我去看看,我看到的只是一个空白页。 在我的服务器的其他一切工作正常。 在我的Apache日志中没有发生严重的崩溃错误,但我注意到我没有启用PHP日志logging。 于是我对php.ini进行了相应的修改,重新启动了Apache并重新启动了。 然后,几天后,同样的事情发生了。 我刚刚重新启动Apache,看看会发生什么,它再次工作。 Apache错误日志没有显示任何严重的事情。 Apache访问日志或Ubuntu的系统日志也没有。 由于某些原因,即使我已经设置了log_errors = On和error_log到完整的文件path,我没有看到任何PHP日志文件。 任何帮助? 我甚至不知道从哪里开始寻找。
我有一个服务器,让我头痛。 它拥有几个网站:这些都是基于PHP或基于Java。 我有一个设置,使用Apache2 + suPhp的PHP网站,和apache2 +的mod_proxy + Apache的Tomcat的Java应用程序。 在过去的几个星期里我看到一些奇怪的行为。 有时,我会得到一个单一的httpd进程,达到30-40%cpu,超过70%的内存。 我没有看到任何PHP或Java进程占用额外的资源,所以我(天真地)认为这个问题是不相关的PHP或Java代码。 这些高峰似乎随机发生在随机的时间和随机的时间间隔; 有时每天多次,其他时间整整一周都没有发生。 我注意到的另一个奇怪的事情是,当我手动kill -9正在执行的httpd进程时,另一个httpd进程会在几秒钟内popup,并开始占用大量的内存和CPU。 我可以重复几次,直到它自己停止发生:/ 所以,我其实有几个问题: 有没有人有任何提示,我应该如何追查这种行为的原因? 最终,我想看看是什么样的请求导致这些问题。 我已经看了httpd访问和错误日志,我真的找不到任何不寻常的东西。 我对这类问题的研究并不熟悉,所以即使对您来说看起来非常明显的事情也可以提供帮助。 有没有办法限制一个单一的httpdsubprocess可能消耗的资源量? 或只是简单地杀了它,当它超过了一定的内存量? 与上一个问题相关,我可以configurationoom-daemon在httpd进程上触发更多,而在其他进程上更less? 我问,因为,直到我find一个体面的解决scheme,我想确保它停止杀死我的java进程时,httpd进程再次开始行动。 UPDATE 最近我发现,造成这个烂摊子的请求来自googlebot。 这是消耗所有可用的mem和cpu的进程的lsof输出摘录: httpd 18588 nobody 37u IPv6 96675092 TCP myhost.com:http->crawl-66-249-76-96.googlebot.com:56730 (ESTABLISHED) 我设置了mod_security来logging来自我的<VirtualHost>中googlebots似乎使用的IP范围的所有来自这个规则的请求: SecRule REMOTE_ADDR "@ipMatch 66.249.76.0/24" phase:1,id:1,auditlog,allow 我这样离开了服务器一段时间。 在这段时间内,httpd进程被刺激了好几次,到了OOM守护进程开始查杀进程(httpd,java,甚至现在不时地closuresmysql)的程度。 然后,我提取了所有被googlebot击中的url,并创build了一个curl所有这些url的脚本,希望能够使httpd进程飙升,从而find导致这些问题的请求。 不幸的是,这并没有发生 – 所有的请求都很快返回,而cpu和内存使用情况远不及Googlebot访问服务器时的情况。 所以我认为有两种可能性: 问题是由于特定的HTTP标头。 我的脚本不复制这些,它只是使用普通的curl,没有额外的标题。 导致问题的请求不会被logging。 据我所知,这不应该是这种情况,因为我告诉mod_securitylogging第一阶段,这是在Apache实际上处理请求之前的请求。 有没有人有任何其他的想法? […]
将.html文件parsing为PHP的常用方式是将以下行的第一个(PHP作为Apache模块)或两者(PHP作为CGI)添加到.htaccess文件中: AddType application/x-httpd-php .html .htm AddHandler application/x-httpd-php .html .htm 有时需要x-http-php5 ,具体取决于主机: AddType application/x-httpd-php5 .html .htm AddHandler application/x-httpd-php5 .html .htm 但是,我现在正在一个新的东道主,没有渗透这些线路的工作。 在所有情况下,原始文件被发送到浏览器,并且wget显示x-httpd-php被呈现为Content-Type! HTTP request sent, awaiting response… HTTP/1.1 200 OK Date: Tue, 07 Aug 2012 14:16:40 GMT Server: Apache Last-Modified: Tue, 07 Aug 2012 07:46:44 GMT ETag: "862239-14-4c6a83216c100" Accept-Ranges: bytes Content-Length: 20 X-Powered-By: PleskLin Keep-Alive: timeout=15, […]
不幸的是,我删除了MySQL用户,现在我无法访问MySQL我试过https://stackoverflow.com/questions/489119/mysql-error-1045-access-denied但它不适合我,因为我没有任何用户为MySQL甚至我卸载并安装MySQL,但我不能访问MySQL我该怎么办? 我想没有loginphpmyadmin,我毁了整个
我有我的客户端应用程序调用我的服务器上的一个PHP脚本logging一些信息到远程MySQL服务器。 脚本工作正常,但偶尔(只偶尔)脚本无法连接。 当连接失败时,我设置了脚本来向我发送错误邮件,并从mysql_error()中得到以下错误: Unknown MySQL server host '[myDBhostaddress]' (2) 当然,[myDBhostaddress]是我的db主机的正确地址。 对于大多数时间脚本工作,因此我不认为地址或login凭据是错误的。 我试图重现这个问题,但没有运气。 我可以从我的本地机器(我的服务器)login到我的mysql服务器。 从命令行连接工程,testingPHP脚本工程,手动调用发送给我错误邮件的脚本也工作! 现在我对这个问题感到困惑,因为我不知道如何处理这个问题。 我甚至不知道问题的原因。 会不会是MySQL服务器重载? 这是入侵者的攻击吗? 如果有帮助,我的PHP脚本生活在亚马逊的EC2和亚马逊的RDS的MySQL服务器。