Articles of PHP5

很容易遵循从4.3.10更新PHP到至less5.1.1的指导

我需要通过SSH更新我的PHP版本至less5.1.1 ,并且需要简单地遵循关于如何做的build议。 我们有一个VPS(与Plesk)与webfusion,谁不会更新我们,我们需要运行ModX 。 我已经search了互联网,没有什么我可以真正理解的,对SSH的知识非常有限,甚至对如何更新PHP也很less。 另外作为副业,我们是否需要更新MySQ L? 目前运行3.23.58

升级PHP,MySQL的旧密码问题

我从石器时代inheritance了运行XAMPP安装的Windows 2k3服务器。 我需要升级PHP,以便升级到MediaWiki,以方便一个新的MediaWiki扩展(为了方便一些文档,以方便我的工作,以方便获得付款方便…你明白了)。 然而…安装PHP的新版本会导致PHP的MySQL库拒绝使用MySQL的“旧式”152位密码进行通信。 理论上不成问题。 MySQL的安装是后4.1,所以它应该有function,将用户的密码从152位升级到328位(这是一个奇怪的哈希algorithm…)。 我跑了以下几点: SET PASSWORD = PASSWORD('foo'); 在MySQL上,但查询: SELECT user, password FROM mysql.user; 只是返回了我刚开始使用的密码 – 152位。 现在…我怀疑你在想'AHA! 旧密码开启!“。 不幸的是,它不是 – 我已经在configuration中禁用它(明确地将其设置为0),双倍确定我有一个绝对参考该configuration文件,并确保该服务不使用–old-passwords标志。 每次操作后,服务都会重置。 所以我进入另一个系统,并在那里生成了328位散列,将散列复制到第一个MySQL实例。 不幸的是,这也没有奏效(我记得FLUSH PRIVILEGES)。 应用程序错误是: “'mysqlnd无法使用旧的不安全authentication连接到MySQL 4.1+。请使用pipe理工具[… snip …] 还有什么我可以尝试让PHP识别MySQL不使用“旧的不安全的身份validation”? MySQL似乎被卡在“旧密码”模式,我无法从中解脱出来。

限制APC操作码caching到特定的网站? Nginx + PHP-FPM + APC

有没有办法在每个虚拟主机的基础上启用/禁用APC? 我宁愿不要使用宝贵的APC共享内存caching我的PHPmyAdmin子域或较less使用的网站。 安装程序是Nginx,php-fpm和apc。 从我读过APC的filter设置无法匹配完整path,所以我正在寻找其他方法。

如何优化小型Linux服务器?

我有一个512MB的RAM和一些运行在其上的php / mysql网站(〜20)的小型Ubuntu服务器。它已经运行了两年,现在没有一个单一的问题。 但是我觉得有些优化的时刻刚刚来临。 在这个服务器上托pipe的网站stream量非常低,但是现在我看到一些CPU问题,他们开始获得更多的访问。 我试图做的第一件事是确定问题,所以我一直在玩几个命令行工具,如顶级htop apachetop等,和工作台监视MySQl.With这些工具是很难知道我是什么正在进行。 例如,我创build了一个在后台运行的PHP守护进程,并且每10秒钟在数据库中存储CPU使用率。如果CPU大于60%,则存储apachetop的输出。 这并不是特别有用,因为许多logging是OPTIONS * HTTP / 1.0 。 此外,它看起来像是最后一个请求的列表,而不是当前的请求。 秒,当我试图监视使用htop发生了什么,我总是看到〜15条logging,如: 6905 mysql 20 0 462M 110M 5220 S 0.0 21.6 5:29.79 /usr/sbin/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mysql –pid-file=/var/run/mysqld/mysqld.pid –skip-external-locking –port=3306 –socket=/var/run/mysqld/mysqld.sock 另一个〜15像: 23382 www-data 20 0 259M 27384 4820 S 1.3 5.2 0:01.00 /usr/sbin/apache2 -k start 这是一个截图: 我不确定这些stream程是否应该一直开放,或者我可以优化。 我现在可以升级这个服务器,我只是想在做之前尽可能地优化它。 另外,我打开日志查询缓慢,唯一的查询有所有查询,当服务器的CPU超过90%执行。 这只是确认,我使用的(自定义)php […]

Apache支持php4,5和6的Ubuntu服务器

我有1and1托pipe的网站,服务器默认为PHP4,如果你想PHP5或6添加“AddType x-mapp-php5(或6).php”,它会运行脚本为PHP 5或6。 关于如何设置这样一个系统没有太多的信息,我已经联系1and1支持要求与技术交谈,但我很less希望他们会给我关于这个工作的任何信息。 我有一个在我的地下室运行MySQL / Apache的Ubuntu服务器,我可以使用开发盒,但一半我的应用程序是PHP4和一半是php5目前唯一的方法来工作的东西是卸载一个,并重新安装其他获得php4 / 5使用。 有没有人有任何想法如何设置“AddType x-mapp-php5 .php”function,所以我不必一直卸载/安装PHP一遍又一遍?

不尊重Apache2 / mod_fcgid / PHP进程限制

我最近从nginx / php_fpm移到了Apache2 / mod_fcgid / PHP。 这是我进行这种迁移的第二台服务器,但使用频率要比第一台less得多,这就像一个魅力一样。 问题出现在PHP进程中。 在查看mod_fcgid文档时 ,看起来杀死空闲进程的默认值是300秒; 我已经把这个改成了20个。现在,如果300能够工作的话,我会好起来的 – 但是这并没有发生。 现在已经运行了近一天,服务器状态显示了12个活动进程: 进程名称:php5 PID活动空闲访问状态 19243 84879 14420 11准备就绪 进程名称:php5 PID活动空闲访问状态 20954 82143 149 22准备就绪 20947 82149 149 22准备就绪 20953 82143 149 13准备就绪 进程名称:php5 PID活动空闲访问状态 20589 82765 23644 72准备就绪 进程名称:php5 PID活动空闲访问状态 17663 86103 2034 117准备就绪 进程名称:php5 PID活动空闲访问状态 19862 83961 1976 91准备好了 进程名称:php5 PID活动空闲访问状态 […]

WampServer不推荐使用X-Cart的function

我想在我自己的本地Wampserver上运行我的X-Cart网站,如果更新X-Cart服务器破坏了网站,也可以试用。 X-Cart版本是4.2.2。 当我在本地主机上运行它时,我在主要内容之前收到以下错误: ( ! ) Deprecated: Function set_magic_quotes_runtime() is deprecated in C:\wamp\www\hilla\prepare.php on line 52 Call Stack # Time Memory Function Location 1 0.0362 380720 {main}( ) ..\home.php:0 2 0.0497 392656 require( 'C:\wamp\www\hilla\auth.php' ) ..\home.php:38 3 0.0713 399144 require( 'C:\wamp\www\hilla\preauth.php' ) ..\auth.php:45 4 0.0899 650648 include_once( 'C:\wamp\www\hilla\init.php' ) ..\preauth.php:51 5 0.0957 878200 require_once( 'C:\wamp\www\hilla\prepare.php' […]

Windows Server 2008R2中Drupal 6的理想技术栈

我的背景主要是基于Linux的服务器,我可以configuration任何东西,但我想要的。 然而,我正在为一个客户build立一个Drupal6站点,他(尽pipe我的警告)希望从他的办公室中的服务器自行托pipe – 并且正在运行Windows Server 2008 R2(可能在某个时候升级到Small Business Server 2011) 。 虽然我对Linux中使用的技术堆栈有了一个很好的想法,但是我不太确定在基于Windows的服务器环境中如何去做这件事。 什么是在Windows中提供基于Web的PHP应用程序(特别是Drupal)的理想技术栈? 不,我不能将这个东西重新格式化为一个Linux机器。 :) 谢谢! 编辑:有一点值得注意的是,我已经在Mac OS 10.6中使用MAMP(Apache2,MySQL)作为我的testing环境。 如果技术堆栈可以使用MySQL,那就好了,因为我最好只是转储,然后导入我一直使用的表。

php.ini使用多个包含path – openbasedir限制

我需要为Plesk 10上的虚拟子域名提供包含path。我已经将PHP PEARpath编辑到/etc/php.ini中,因为我很高兴它可以在全球范围内使用: include_path = ".:/usr/share/pear/" 这是有效的,因为当脚本尝试包含它们时,PHP能够看到那个目录中的文件,但是我得到了可怕的openbasedir错误: Warning: require_once() [function.require-once]: open_basedir restriction in effect. File(/usr/share/pear/xxxx.php) is not within the allowed path(s): (/var/www/vhosts/xxxx.com/subdomains/test/httpdocs/:/tmp/) 我说的是,子域或主域可以有一个vhost.conf文件,我可以改变openbasedir允许的path? 我试过寻找解决办法,但恐怕我不能看到一个:)

无法fsockopen

我在我的服务器上有2个以太网eth0和eth1。 默认网关设置为eth0。 我需要在php中使用fsockopen来连接ip 10.10.6.2。 IP 10.10.6.2路由通过eth1(我有一个规则设置在route-eth1)。 当我尝试从系统中ping该ip时,我能够得到响应。 但是,当我尝试fsock打开从IP IP,我越来越超时错误。 我也启用了php.ini中的allow_url_fopen Warning: fsockopen() [function.fsockopen]: unable to connect to 10.10.6.2:5016 (Connection timed out) in /home/xxxxx/public_html/test.php on line 2 Connection timed out (110) 谁能帮我解决这个问题?