Articles of PHP

IIS / AppCmd – 远程创build新用户

有没有办法将新用户远程添加到IIS? 我想从位于另一台服务器上的另一个网站创build新用户,以便我可以使用这些帐户login到服务器以添加和编辑(新)网站。 理想情况下,我想在不添加第三方软件的情况下这样做。 据我所见,AppCmd.exe没有任何function来创build(访客)用户,所以我猜测这必须在更高层次上完成。 任何好的线索从哪里开始这个search?

PHP错误不被显示

我在Ubuntu 12.10上使用PHP和Apache。 出于某种原因,错误不会显示在浏览器上,我无法弄清楚。 我有我的php.ini文件中的以下内容: error_reporting = E_ALL & ~E_DEPRECATED display_errors = On display_startup_errors = On log_errors = On 我也肯定我已经通过php_ini_loaded_file()validation了正确的ini文件。 我也可以通过在我的脚本中进行以下操作validation是否正确设置了值: echo ini_get("display_errors"); // Outputs 1 echo ini_get("display_startup_errors"); // Outputs 1 echo ini_get("log_errors"); // Outputs 1 echo ini_get("error_reporting"); // Outputs -1 我已经尝试了这些设置的每一个可能的组合(并在每次更改后重新启动Apache),它只是不输出错误。 我也没有在脚本的任何地方使用ini_set 。 它只能从ini文件中设置。 任何想法为什么不显示错误? 更新: 事实certificate,这是显示一些错误,但不是全部。 echo 'hello''; // Shows syntax error trigger_error("E_USER_WARNING", E_USER_WARNING); […]

仅仅安装PHP5会导致我的AWS Ubuntu服务器在数分钟之后死于大量的CPU峰值

我有一台运行Apache2 web服务器的Ubuntu 11.04 AWS服务器(顺便说一句,基于Python和使用Django)。 我们最近需要添加对php5的支持,让我们使用第三方PHP库(顺便提供js和css文件的缩小版本)。 但是,如果我们只是跑步,没有任何理由可以辨别出来 sudo apt-get install php5 在服务器上,然后安装似乎成功完成,但是,没有我们采取任何进一步的行动(包括尚未运行sudo apt-get install libapache2-mod-php5 ,我认为这将是我们的下一步,如果一切正常),或者实际上在服务器上运行任何PHP脚本,几分钟后服务器将无法连接,并且在EC2pipe理控制台中查看服务器的“监控”选项卡显示,在安装后一段时间,CPU使用率达到峰值100%,并永久保留(直到我们从AWS控制台重新启动服务器)。 重新启动后,服务器也可以在几分钟之内(0到10分钟)内可靠地死亡。 我们从AMI映像中恢复服务器到一个pre-PHP状态,观察它是稳定的,然后再次尝试安装PHP5,并以完全相同的方式观察服务器死亡,所以我们非常确定安装PHP5是什么导致症状。 究竟是什么导致了这种行为,我们如何在服务器上安装PHP而不会死亡?

无法连接到pear.php.net

如果我用PEAR尝试任何东西,我会得到: # pear list-all Connection to `pear.php.net:80' failed: Connection timed out 如果我平了,我得到以下几点: # ping pear.php.net PING euk1.php.net (5.77.39.20) 56(84) bytes of data. 我也试过主机,并挖掘url: # host pear.php.net pear.php.net is an alias for euk1.php.net. euk1.php.net has address 5.77.39.20 # dig pear.php.net ; <<>> DiG 9.7.3 <<>> pear.php.net ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: […]

在Debian 6.0.5上更新到PHP 5.4

想象一下,在Google上会有一个简单的答案,但没有运气。 大多数教程虽然与我需要的类似,但不适用于Debian: http://chemicaloliver.net/internet/installing-php-5-4-in-ubuntu/ add-apt-repository ppa:ondrej/php5 收益率: -bash: add-apt-repository: command not found 和这里的步骤: http : //vjetnamnet.com/how-to-install-php-5-4-on-debian-using-dotdeb-repository/获取 apt-get update N: Ignoring file 'dotdeb.gpg' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension N: Ignoring file 'dotdeb.gpg.1' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension E: Type 'Deb' is not known on line 1 in […]

如何在OS 10.7.5上configurationApache + PHP使0755目录可写?

多年来,我在Macintosh计算机上使用MAMP来运行Apache,MySQL和PHP的开发环境。 当我将我的机器升级到OS 10.7时,我决定使用OS 10的本地Apache和PHP来代替下载MAMP,大多数是按照我在这里find的说明 。 从那时起,我只有一个问题,我从来没有经历过MAMP:我的CMS不能识别某些文件和图像目录是可写的,即使他们的权限设置为drwxr-xr-x,并且相同的目录是当我把它们部署在networking上时是可写的。 在我的本地机器上,我的CMS给了我这个错误信息: 图像目录不可写:/Users/me/Sites/example.com/images 文件目录path不可写入:/Users/me/Sites/example.com/files 临时目录path不可写:/Users/me/Sites/example.com/cms/tmp 当我将完全相同的文件和目录复制到我的发布服务器时,它工作正常。 当我使用MAMP时,它在我的开发机器上也工作的很好。 这些错误只是在我开始使用OS 10.7的原生PHP而不是MAMP之后才出现的。 由于它在我的发布服务器上工作,我宁愿修正我的Apache和PHPconfiguration(如果可能),而不是通过更改文件权限。 是否有捷径可寻?

url请求中止HTTPstream量的Apache

我在我们的extjs php应用程序中遇到问题。 我们有两台服务器,并且有一个负载平衡(NLB)以循环方式工作。 在使用该系统时,用户遇到一些问题,例如数据不从数据库加载,并且http请求正在中止。 我不知道从哪里开始我们的故障排除。 在网站的任何特定页面上,当您打开一个页面时,一些资源(用户信息,下拉菜单,整个页面等)无法加载。 如果刷新,页面可能正常工作,同一组资源可能无法加载,或者可能无法加载不同的资产。 没有任何关于请求失败的apache日志,但是因为它似乎指向一个Apache的问题,我们重新启动apache。 我们第一次尝试的时候,没有什么区别,但大约10分钟后,没有更好的解决scheme,我们再次尝试。 奇怪的是,问题立即消失了。 再过1-2天后再来。 我也做了多个PHP的过程,以便不同的请求获得不同的PHP文件,但看起来像问题是不存在的。

从php脚本发送输出从bash脚本调用到syslog

从php脚本发送输出从bash脚本调用到syslog 我试图创build一个bash脚本(由cron作业调用)调用一个php文件(我没有)。 调用php文件很简单。 PHP脚本输出了很多东西到标准输出,我想redirect输出从PHP脚本logging器,以便我可以监视我的远程系统日志服务器的进度。 我试过类似的东西: PHP_SCRIPT_PATH="/some/path" ME= basename $0 LOGGER="logger -p cron.notice -t $ME" cd $PHP_SCRIPT_PATH php the_php_script.php &> eval $LOGGER 还试过: php the_php_script.php | eval $LOGGER 但是都没有工作。 我考虑过的另一个可能的解决scheme是将输出从php脚本输出到日志文件,然后让另一个bash脚本读取该文件并将每行写入logging器。 但我想有一个脚本,它做的一切:) 任何人都可以请帮忙?

不尊重FcgidMaxProcesses

我正在使用FastCGI(fcgi)。 我有一个问题,更多的PHP进程正在产生比应该是,这是吃我的RAM。 我正在使用WHM,所以通过WHM Web界面设置了以下PHP设置> Apacheconfiguration>包含编辑器> Pre VirtualHost包括: <IfModule mod_fcgid.c> FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 500 FcgidMaxRequestsPerProcess 500 FcgidMaxProcesses 15 FcgidMinProcessesPerClass 0 FcgidMaxProcessesPerClass 8 FcgidIdleTimeout 30 FcgidIdleScanInterval 15 FcgidProcessLifeTime 60 FcgidIOTimeout 300 FcgidMaxRequestLen 268435456 </IfModule> (通常这些设置会进入/usr/local/apache/conf/php.conf ,但是在更改各种设置时,这个文件被WHM覆盖,所以我不得不把它们插入到其他地方。上面的方法是在cPanel论坛中推荐的,并导致设置被包含在Apacheconfiguration中。) 然而,尽pipeFcgidMaxProcesses 15 ,我发现通过top ,高峰使用期间(也许更多),在任何给定的时间,最多可以运行45个PHP进程。 例如,这里是上个周末拍摄的屏幕截图: 顶级输出截图http://f.cl.ly/items/1H2M452J1K2p0Z231H2y/Screen%20Shot%202013-01-19%20at%207.16.44%20AM-2.png 我真的希望它最多限制在15个进程。 (尽pipe看起来我有内存空间,但实际上却是2GB + 1GB的可破解性,我通常需要将它保持在2GB以下)。 这是一个运行CentOS 6,Apache 2(Worker MPM),PHP 5.3.20(FastCGI / fcgi)和MySQL 5.5.28的Apache服务器。 2 GB RAM(3 GB突发),24个CPU。

是否有可能告诉nginx通过fastcgi通过一个连接:closures标题通过未改变?

TL; DR :如何告诉nginx从我的php-fpm后端到a)发送一个“Connection:close”标题和b)不缓冲我的回应? 我有一个运行在nginx后面的php-fpm。 一般来说,这样做效果很好,我对此感到满意,但是有几个脚本非常希望向客户端浏览器发送一个“Connection:close”头文件(一个确保一个全新的连接到达HAProxy ),一个是为了能够响应客户端不能处理分块传输编码(.NET有一个错误)。 现在,如果我在PHP中这样做: <?php header('Connection: close'); echo "foobar"; 并尝试curl,我得到这个: curl -I http://localhost/foo.php HTTP/1.1 200 OK Server: nginx/1.1.19 Date: Tue, 19 Feb 2013 08:07:03 GMT Content-Type: text/html Connection: keep-alive X-Powered-By: PHP/5.4.11 正如你所看到的,“closures”已经变成了“保持活力”。 但不仅如此:显然,nginx也会caching这个响应并一次性发送(通过发送大量数据,睡眠,发送更多的数据来确认)。 看看这个文档,我发现了在这里代理的“X-Accel-Buffering”头文件。 这个头看起来应该是做我想要的东西(好吧,它不能解决连接头问题,但至less应该停止缓冲),但是,唉,没有运气 <?php header('Connection: close'); header('X-Accel-Buffering: no'); echo "foobar"; curl -I http://localhost/foo.php HTTP/1.1 200 OK Server: nginx/1.1.19 Date: Tue, […]