After a little more than 2 months of waiting since the last release, PHP has been updated once again, this time to 5.2.5. The 5.2.5 release brings several security enhancements, more than 60 bug fixes, and improved performance for those of you that like arrays (and really, who doesn't?).
PHP 5.2.5 also updated the bundled version of PCRE to 7.3, although if you're a user of my repository you've been using that version for quite some time now, and the timezone database to 2007.9.
Now, what you've all been waiting for... The links! As always, I would encourage everyone reading this to add my Yum repository to your system for quick, easy updates. If you really don't want to, feel free to rebuild the Source RPM at the link below.
Update (11/19/2007): Source RPM updated to fix test issue on certain systems. No binary package updates since the change doesn't actually affect anything but the test cases.
PHP 5.2.5 Release Notes / Changelog
Thanks Jason. Update went without a hitch! Appreciate your efforts to help with these updates.
Update went smoothly...Thank you!!!
I'm stuck. Totally stuck.
I'm getting the
"Error: Missing Dependency: perl(:MODULE_COMPAT_5.8.8) is needed by package perl-DBD-MySQL"
Error
And I am only getting
---> Package php.i386 0:5.1.6-3.el4s1.8 set to be updated
instead of 5.2.5
I must have missed something somewhere.
I have added the repository and everything.
Is there a step by step guide for n00b like me?
Ok, got rid of the perl error, now I have to figure out why I am not getting the 5.2.5 version.
Jason:
I'm having the same problem as I did with your 5.2.4 srpm. See my comment here:
http://www.jasonlitka.com/2007/09/05/upgrading-to-php-524-on-rhel-and-centos/#comment-14223
You eventually modified something in the src.rpm that made it work. Let me know what you think....
i am getting this error when i try and make the update.
Error: Missing Dependency: php-common = 5.2.3-jason.1 is needed by package php-xml
Error: Missing Dependency: mod_jk >= 1.2.0 is needed by package turbopanel-tomcat
any ideas?
Hi Jason,
I'm trying to compile from source rpm (because I use apache 2.0.59) and I get following error while tests start:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/src/redhat/BUILD/php-5.2.5/build-apache/modules/bcmath.so' - /usr/src/redhat/BUILD/php-5.2.5/build-apache/modules/bcmath.so: cannot open shared object file: No such file or directory in Unknown on line 0
I found all missing .so modules in '../build-cgi/modules/' instead of '../build-apache/modules/'. Please, is this my fault or some bug in spec file?
@Jón,
You've either not enabled my repo or you've got the priority or protectbase yum plugins installed.
@Michael,
You're out of luck on using my yum repo on this one. Turbopanel requires Tomcat and that is not a package I rebuild. If you want to update PHP only then I'd suggest downloading the src.rpm and rebuilding from that.
@Carmine,
Grrrr... I'll look into that today. In the interim, you can remove your currently installed copy of PHP and this will build properly.
@pesu,
Probably the same answer as Carmine. I'll see about getting an updated source rpm up today.
The upgrade was smooth, without a problem.
Jason,
Any luck with MySQL
Jesse
Hi - was just following your fabulous updates and finally got everything installed and working. (On a CENTOS server with 5.1.4 and needed 5.2 for uploadprogress). Went through all the steps, added your repo, and install went great. But no MySQL - ahhhh! Is there a workaround or can I go back to an older version? Thanks much for all your efforts.
Justin
@Jesse,
Nope, no luck yet. Still working on it though.
@codesmith,
Do you have "mysql-server" installed or just "mysql" (which contains only the client libraries)? How about "php-mysql" (which contains the 'mysql' and 'mysqli' connectors for PHP)?
"php-mysql" is now installed but didn't get mysql_connect() working. I don't see mysql recognized when I do a phpinfo() (but not sure I should). Restarted apache but not sure if I need to do something else. mysql-server-5.0.48-jason.2.i386.rpm is installed but don't know if it's available - don't see much when using "locate mysql-server". Thanks for the help.
@codesmith,
If you've got 'php-mysql' installed, along with the 'mysql' package (should have been pulled in as a dep) then you should have a "mysql" section in your phpinfo(). If you want to connect to a local MySQL server then you would also need 'mysql-server'.
If you've got those installed then I really couldn't say what could be going wrong. Are there any errors in your httpd error_log when you restart httpd? Is the /etc/php.d/mysql.ini file listed as being parsed in your phpinfo()? Can you post a link to your phpinfo()?
Aha! I looked for errors and saw it was trying to load php4 extensions and not php5. I guess I have a more php4 specific php.ini file. I pointed the extensions to /usr/lib/php/modules/ and it's all sorted. Thanks much for the help.
@codesmith,
Yeah, for the best compatibility you should really use the php.ini file that comes with my packages.
@Jason, (or somebody)
"You've either not enabled my repo or you've got the priority or protectbase yum plugins installed."
Hate to bother you again, but could you be more specific?
I am pretty sure that I have enabled your repo, I followed the http://www.jasonlitka.com/yum-repository/ document and I was getting 5.1 from your repository. But 5.2? not so much. Where should I start looking for problems?
Thanks Jason. Can you let me know where I can find your recommended php.ini file? Don't see anything obvious on our server although I'm not that familiar with how Yum installs things.
@codesmith,
It should have been installed into "/etc" when you installed my files. If you had a modified version from before it could have been installed as "/etc/php.ini.rpmnew". If for some reason it isn't there you can either uninstall (make sure you remove and/or rename your /etc/php.ini) and reinstall or fill out the comment form on my "About" page and I'll email you a copy.
@Jón,
My repo doesn't have any files for PHP 5.1.x. If you were getting those packages then you were probably getting them from the 'centosplus' repo. As I mentioned above, if you've got the 'protectbase' or 'priority' yum plugins installed (it's more likely that you'd have the former than the latter) then it will prevent you from using a 3rd party repo with overlapping packages. If that is the case then you'll need to look through the files in "/etc/yum.repos.d" and make a couple changes. The links below should give you the info you need.
http://wiki.centos.org/PackageManagement/Yum/ProtectBase
http://wiki.centos.org/PackageManagement/Yum/Priorities
thanks! works smoothly
I am currently working on building a memcache extension RPM for your PHP 5.2.5. IS there a possibility for including memcache support in future versions of your packages?
@Dmitriy,
The memcache extension from PECL? If so, that's a pretty easy one as there's already a package available in CentOS extras; it would just need to be rebuilt. I'll look into doing that this week sometime.
Hi,
little off-topic, but is there a rsync server so I can mirror your repository locally for many servers?
Thanks.
@Thomas,
Sorry, no rsync at this time. I've got plenty of bandwidth though so don't worry about using it all. If it's your bandwidth you're worried about then you might want to use a squid proxy to cache all of the downloaded files locally or share out your yum cache folder with NFS so other machines can access it.
Hello,
thank you for this package. But I have a problem -- I am new to linux systems, but need to install php with pcntl support on CentOS. I know that it is possible to do it using --enable-pcntl while compiling, but I did not manage to compile PHP-5.2.5 (there is simply no Makefile in directory, make command therefore does not work).
I am realy stuck and am asking to your help. Maybe you can suggest any solution to this problem (how to build rpm with --enable-pcntl --enable-sysvsem).
Thanks in advance.
Works like a champ. You da man.
@Alex,
'php-pcntl' is provided by 'php-cli' and 'php-sysvsem' is provided by 'php-common'. Install those two packages (both are actually required to install 'php' so you shouldn't actually be able to install at all without them) and you should be fine.
Jason, thanx for help, but actually, it does not work. I have httpd, php, php-common, php-cli installed on my CentOS4 server (from your repositories) and function pcntl_fork() is undefined (says php error message).
Any suggestions?
Further thanx.
Looking at the "Configure Command" in phpinfo(), the "--enable-pcntl" is missing from that list
@Alex/Jesse,
I'll take another look but I searched the spec file and --enable-pcntl was in there. It could be that it was for CLI only. If that's the case, you'd have to add it to the other ./configure string and then rebuild.
Thanks for the package, but i have a problem when I try to add the module of ZendDebugger. The error is : Failed loading /usr/lib/php/modules/ZendDebugger.so: /usr/lib/php/modules/ZendDebugger.so: cannot restore segment prot after reloc: Permission denied
All permissions are ok, the same as the other modules in the same directory. Anyone have the same prob ?
@Luca,
What version of PHP was that module compiled for? Have you tried installing the 'php-devel' package and then rebuilding?
@Jason
At this moment i have installed php-devel, thought yum install. Not rebuilded (what do you mean? I'm little bit new with yum and centos)
The OS is Centos 5.0 with your repository using php 5.2.5. I tried also to use PHP 5.2.4 but without any different result. Which is the last known working version of PHP/Apache with ZendDebugger ? Is there available any repository with these RPM ?
This is the complete error of apache.
Failed loading /usr/lib/php/modules/ZendDebugger.so: /usr/lib/php/modules/ZendDebugger.so: cannot restore segment prot after reloc: Permission denied
Failed loading /usr/lib/php/modules/ZendDebugger.so: /usr/lib/php/modules/ZendDebugger.so: cannot restore segment prot after reloc: Permission denied
Failed loading /usr/lib/php/modules/ZendDebugger.so: /usr/lib/php/modules/ZendDebugger.so: cannot restore segment prot after reloc: Permission denied
Failed loading /usr/lib/php/modules/ZendDebugger.so: /usr/lib/php/modules/ZendDebugger.so: cannot restore segment prot after reloc: Permission denied
Failed loading /usr/lib/php/modules/ZendDebugger.so: /usr/lib/php/modules/ZendDebugger.so: cannot restore segment prot after reloc: Permission denied
Failed loading /usr/lib/php/modules/ZendDebugger.so: /usr/lib/php/modules/ZendDebugger.so: cannot restore segment prot after reloc: Permission denied
Failed loading /usr/lib/php/modules/ZendDebugger.so: /usr/lib/php/modules/ZendDebugger.so: cannot restore segment prot after reloc: Permission denied
Failed loading /usr/lib/php/modules/ZendDebugger.so: /usr/lib/php/modules/ZendDebugger.so: cannot restore segment prot after reloc: Permission denied
[Fri Dec 28 05:21:07 2007] [notice] caught SIGTERM, shutting down
Failed loading /usr/lib/php/modules/ZendDebugger.so: /usr/lib/php/modules/ZendDebugger.so: cannot restore segment prot after reloc: Permission denied
[Fri Dec 28 05:21:08 2007] [notice] SELinux policy enabled; httpd running as context root:system_r:httpd_t:s0
[Fri Dec 28 05:21:08 2007] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Dec 28 05:21:08 2007] [notice] Digest: generating secret for digest authentication ...
[Fri Dec 28 05:21:08 2007] [notice] Digest: done
[Fri Dec 28 05:21:08 2007] [notice] Apache/2.2.6 (Unix) DAV/2 PHP/5.2.5 configured -- resuming normal operations
@Jason
Seems I found what's the problem and partially solved. The problem is caused by SELinux
installed and activated by default on Centos 5, so should be
executed "setenforce 0" (or "setenforce Permissive") to allow the loading of ZendDebugger.so
@Jason
I have just upgraded to php5.2.5 and re-configured the httpd.conf file to my system build, however, would like to change the ./configure options to enable DOM and PDO support for PHP, any advice?
I read your words about "rebuilding" however am clueless on how to do this from an rpm
p.s. thanks for stealing my "RedHat Linux Enterprise Test Page"!!!
Never mind, found the php-xml in your repos!!
Much appreciated
p.s. still not found a way to change the default page back !
@Craig,
Stole your default page? I have no idea what you're talking about. My httpd install does include a slightly modified version of the default, default page. If you'd like to go back to the original one that came with RHEL then you'd need to reinstall their package.
Really though, why do you care? That page is only there until you install your own content.
Jason
Take no notice. Thanks for your repo, it's really quite good.
Thanks for your packages they have been a great help.
Have one newbie question, i have installed your php5.2.5 package fine and wondered if there was an easy way to add PDO driver for MySQL?
Thanks again
@Dave,
Have you installed 'php-mysql'?
Yes im pretty sure i have.
@Dave,
Is there a "mysql" section in your phpinfo()? If so, you've got MySQL support.
Hi
sorry for the stupid question
I use your binaries but when i check php info i see:
--without-mysql' '--without-gd'
how to enable mysql and gd support?
i installed
* php-mysql
* php-gd
but no help
@ross,
You can ignore the "without" stuff at the top as the main PHP module and the addons are actually compiled separately.
All you need to do is install 'php-mysql' and 'php-gd' and then restart httpd. If you check your phpinfo() once you do that then you should see 'mysql' and 'gd' sections.
Just checked and it is showing MySQL under phpinfo.
PDO drivers only show Sqlite & Sqlite2
hi Jason..
Thank you for the effort to share this. Ive been trying to update my php 5.1.6 because i want it to pass the free audit scan by comodo but i never succeeded because 5.1.6 was a part of the package by virtualmin. i cannot proceed to pci compliance test without an update to 5.2.1 or higher. your update works smoothly and now im gettin closer to pci compliance. thanks. May you have a Great Year in 2008. cheers
@ziera,
Good to hear. PCI compliance is a real pain, I know, I just finished the quarterly scans on our eCommerce sites at work.
@Dave,
I just checked one of my sites and the PDO section has "sqlite" and "mysql". Make sure that you've got at least the following packages installed: 'php', 'php-common', 'php-cli', 'php-pdo', 'php-mysql'.
thx Jason
But now i cant find phpize?
where it is?
i installed followed rpms:
php-common-5.2.5-jason.1
php-gd-5.2.5-jason.1
php-cli-5.2.5-jason.1
php-mysql-5.2.5-jason.1
php-pdo-5.2.5-jason.1
It was tough, but now after i cleared the security holes and warnings, feel much relieved. I just need to work on some areas. Thanks to you. Keep it up.
@Ross,
'phpize' is a development tool; it's in 'php-devel'.
Jason, I am looking to upgrade a stock RHEL4 box with your PHP5.2.5 RPMS via YUM.
Checking what is currently installed:
# rpm -qa php*
php-mbstring-4.3.9-3.22.9
php-4.3.9-3.22.9
php-eaccelerator-4.3.9_0.9.3-4.2.el4.rf
php-snmp-4.3.9-3.22.9
php-mysql-4.3.9-3.22.9
php-ldap-4.3.9-3.22.9
php-devel-4.3.9-3.22.9
php-pear-4.3.9-3.22.9
php-gd-4.3.9-3.22.9
using YUM check-update I see everything listed with the exception of php-pear-x
Is there something I need to do to include pear in the update?
php.x86_64 5.2.5-jason.1 utterramblings
php-devel.x86_64 5.2.5-jason.1 utterramblings
php-gd.x86_64 5.2.5-jason.1 utterramblings
php-ldap.x86_64 5.2.5-jason.1 utterramblings
php-mbstring.x86_64 5.2.5-jason.1 utterramblings
php-mysql.x86_64 5.2.5-jason.1 utterramblings
php-snmp.x86_64
eaccelerator is not an issue, I just need to ensure pear in included in the yum update.
I tried up2date for the php upgrade as well. Using up2date, I can do a --dry run to see if the upgrade would work, I do not know of a way to do that using yum. This is the result from the --dry run, can you help me to solve the failed dependencies (I will uninstall eaccelerator before the update)
# up2date --dry-run php php-devel php-gd php-ldap php-mbstring php-mysql php-pear php-snmp
Fetching Obsoletes list for channel: utterramblings...
Fetching rpm headers...
########################################
Name Version Rel
----------------------------------------------------------
php 5.2.5 jason.1 x86_64
php-devel 5.2.5 jason.1 x86_64
php-gd 5.2.5 jason.1 x86_64
php-ldap 5.2.5 jason.1 x86_64
php-mbstring 5.2.5 jason.1 x86_64
php-mysql 5.2.5 jason.1 x86_64
php-pear 1.6.2 1.jason.1 noarch
php-snmp 5.2.5 jason.1 x86_64
Testing package set / solving RPM inter-dependencies...
Downloading headers to solve dependencies...
#######################################
Downloading headers to solve dependencies...
There was a package dependency problem. The message was:
Unresolvable chain of dependencies:
php-5.2.5-jason.1 requires httpd-mmn = 20051115
php-eaccelerator-4.3.9_0.9.3-4.2.el4.rf requires php = 4.3.9
php-mysql 5.2.5-jason.1 requires libmysqlclient.so.15()(64bit)
php-mysql 5.2.5-jason.1 requires libmysqlclient.so.15(libmysqlclient_15)(64bit)
The following packages were added to your selection to satisfy dependencies:
Package Required by
----------------------------------------------------------------------------
php-cli-5.2.5-jason.1.x86_64 php-5.2.5-jason.1 php-cli
php-cli-5.2.5-jason.1.x86_64 php-pear-1.6.2-1.jason.1 php-cli
php-common-5.2.5-jason.1.x86_64 php-ldap-5.2.5-jason.1 php-common
php-common-5.2.5-jason.1.x86_64 php-snmp-5.2.5-jason.1 php-common
php-common-5.2.5-jason.1.x86_64 php-mbstring-5.2.5-jason.1 php-common
php-common-5.2.5-jason.1.x86_64 php-gd-5.2.5-jason.1 php-common
php-common-5.2.5-jason.1.x86_64 php-5.2.5-jason.1 php-common
php-common-5.2.5-jason.1.x86_64 php-mysql-5.2.5-jason.1 php-common
thx again Jason!
but now I have other prob...
Seems that php mysql extension cannot be use under console????
Any ideas?
thx in advace
Hi,
I'm running a CentOS 5 server with Zervex's ServerCP control panel. I'm wondering if I can use this repository to update PHP to 5.2.5 since I am using yum update? Do I need a special repository that is set up by the Zervex crew, or can any repository be used since it is CentOS and it would be done with yum?
Thanks,
railer
(Sorry if this is a dumb question, I'm new to server administration...)
@Jeff,
Pear is included. It's the 'php-pear' package.
As to your dry-run issues, you cannot upgrade PHP using my repo without also updating MySQL to 5.0.x and httpd to 2.2.x. Do your dry run without specifying the package names. if you only want to upgrade PHP then you'll need to download my source rpm and rebuild it for your version of httpd and mysql.
Oh, and I supply 'php-xcache' instead of 'php-eaccelerator'. I like XCache better.
@ross,
Works for me. Is there a "mysql" section in the output of "php -i"?
@railer,
I've never heard of "Zervex". I would have to say that if that package uses the distro's default httpd, MySQL, and PHP RPMs then you'll probably be OK. If it uses custom RPMs then it MIGHT work. If it compiles those apps from source (as CPanel does) then it's not going to work for you.
Thanks Jason, I added all httpd php and mysql packages to the --dry run, the same 2 unresolvable dependencies remain
php-mysql 5.2.5-jason.1 requires libmysqlclient.so.15()(64bit)
php-mysql 5.2.5-jason.1 requires libmysqlclient.so.15(libmysqlclient_15)(64bit)
Any idea how I can update/correct for the libmysqlclient.so.15 dependency?
It looks like my system has libmysqlclient.so.14 installed, I ran:
# rpm -q --whatprovides /usr/lib64/mysql/libmysqlclient.so.14
mysql-4.1.20-2.RHEL4.1.0.1
so it looks like libmysqlclient.so.15 needs to be built into your mysql-5.0.54-jason.1.x86_64.rpm
this way php-mysql-5.2.5-jason.1.x86_64.rpm can access and use it.
I installed MySQL-shared-compat-5.0.45-0.rhel4.x86_64.rpm right from the mysql website, and it took care of the unresolvable dependencies error
regarding xcache... does your RPM install a web GUI page, and if so, where/how can it be accessed.
@Jeff,
This is from a 32-bit box but the 64-bit packages use the same spec file so they should be the same (aside from the path).
[root@Test32 /]# rpm -q --whatprovides /usr/lib/mysql/libmysqlclient.so.14
mysqlclient14-4.1.14-4.2.1.jason.1
[root@Test32 /]# rpm -q --whatprovides /usr/lib/mysql/libmysqlclient.so.15
mysql-5.0.54-jason.1
What was the actual command you were running? Why didn't you just do a dry run of the entire "yum update"?
I prefer to use up2date over yum... just because.
I ran up2date -l to locate the php/httpd/mysql packages, then ran this command:
up2date --dry run httpd httpd-devel httpd-manual php php-devel php-gd php-ldap php-mbstring php-mysql php-pear php-snmp mysql mysql-devel mysql-server mysqlclient10
That line included all php/httpd/mysql packages from your repository flagged for my arch.
I removed the RHEL repository from the config to grab only your files.
@Jeff,
Hmmm... The only thing I can think of off-hand is that since you're not using a broad update and instead are specifying packages by name, you might not be getting some of the deps
(apr, pcre, etc.).
ahh, yes, I left those out of my list, as I was unsure what they did, and if they were required.
My stock RHEL4 php build is not configured with mysqli enabled. Does your build configure and enable mysqli?
Thanks very much for your help Jason and for the excellent packages.
All working with Mysql PDO driver loaded
@Jeff,
Yes, mysqli is included in the 'php-mysql' package.
@Dave,
Good to hear.
After adding your repository, I typed yum update php but didn't realize this would change my apache configuration. Can you let me know how to install the mod_access (or any other) module back into the apache web server?
Oops nevermind, I'm now learning about mod_authz_host.so in httpd 2.2
Hi,
I currently have PHP 5.1.6 installed on my machine (CentOS 5):
php-gd-5.1.6-15.el5
php-ldap-5.1.6-15.el5
php-5.1.6-15.el5
php-imap-5.1.6-15.el5
php-mysql-5.1.6-15.el5
php-cli-5.1.6-15.el5
php-odbc-5.1.6-15.el5
php-xml-5.1.6-15.el5
php-mcrypt-5.1.6-12.el5.centos
php-devel-5.1.6-15.el5
php-common-5.1.6-15.el5
php-pdo-5.1.6-15.el5
php-pear-1.4.9-4
php-mbstring-5.1.6-15.el5
php-xcache-5.1.6_1.2.2-jason.3
php-xmlrpc-5.1.6-15.el5
Can I just update PHP by doing rpm -Uvh php-5.2.5-jason.2.src.rpm ? Sorry I'm new to this and I don't want to break my PHP install.
@george,
Packages ending in "src.rpm" need to be compiled before they can be used. You can either do that or configure your server to use my yum repository. If you do the latter then you should know that it will also update httpd, mysql, and a couple dependencies.
Jason,
Thanks
I compiled the source RPMs and updated my PHP successfully.
Many thanks...
I have been compiling the source with that damn ./configure since 2 days.
Now it just works
Thanks for compiling the php 5.2.5 binaries. Is it compiled with the --enable-zip configure option?
@Vinny,
Yes, zip support is included, however it will not show "--enable-zip" as a part of the configure string on a phpinfo() due to the way that the modules are built.
hi jason,
i'm getting a bunch of "transaction check" errors when i try to "yum update". has about 20 lines that say "XYZ from install of ABC-jason.2 conflicts with file from package DEF". any ideas?
@roger,
Specifically, which packages (just list a couple of the conflicts)? Do you have any yum plugins installed (such as 'protectbase')?
Hi Jason,
It's me again, Tony from another thread on PHP 5.2.2.
I've followed the instructions your your Yum repository. I downloaed the PHP 5.2.5 RPM package from this post. However, when I type in #yum upgrade php-5.2.5-jason.2.src.rpm, it first processes dependency. The result shows an error saying:
Error: Missing Dependency: freetds-devel is needed by package php
I then tried yum install freetds-devel, it showed 'parsing,.....nothing to do'. I am wondering how to fix this dependency problem.
I am now using CentOS 5 with PHP 5.1.6, MySQL5 and Apache.
You help is greatly appreciated
Hi Jason, I want to thank you for your repository although I had a couple questions.
I am trying to install PHP 5.2.5 .. the basis for this install is cURL .. I dont know why but apparently youre still using the outdated one that comes with centos4 7.12.xx which is a few years old and has some major security problems. I am trying to update to 7.18 and have gotten it successfully installed.. now when it comes to building PHP from the source I have been denied repeatedly..(at least 10 builds now) which the build just fails due to libtool not locating the libxml2.so file.
I was wondering if you could possibly write a php.spec file that builds ONLY the root .. no cli, common, etc.. without having to use libtool. I have tried removing as much as possible from the spec to no avail and I am sure Its because im missing something.
Any help would be appreciated.. thanks!
Jaz
Hi Jason,
It looks like the CLI version of php is compiled --with-json support, yet the Apache module libphp5.so is compiled with --disable-json. I have a script that needs to call json_encode(), so I'm guessing I'll have to compile it myself to enable support. Does that sound correct to you?
- Brian
@tony,
You are trying to install a Source RPM and you shouldn't be. If you've configured your box to use my yum repo then just run "yum update php".
@Jaz,
I don't update any packages on my development boxes aside from those absolute necessary to build the newest versions of httpd, php, and mysql. Updating curl is not one of those so the default version is kept (EL4 is 7.12.x and EL5 is 7.15.x).
@Brian,
The httpd module is compiled barebones and most functionality is added through other packages. json functionality is included in 'php-common'.
Hi Jason,
I used your srpm to build and install php5.2.5 on my cenoos5 box. That worked fine, not i have to apply a certain patch on php and rebuild it. I successfully changed rpm spec file, but i have one question. Could you tell me why it contains patches for older versions of php?
Patch1: php-5.2.4-gnusrc.patch
Patch2: php-4.3.3-install.patch
Patch3: php-5.2.4-norpath.patch
Patch5: php-5.0.2-phpize64.patch
Patch8: php-5.2.0-includedir.patch
Patch9: php-5.2.4-embed.patch
# Fixes for extension modules
Patch21: php-5.2.4-odbc.patch
Patch22: php-4.3.11-shutdown.patch
#Patch23: php-5.2.2-pdosym.patch
Patch24: php-5.2.3-macropen.patch
Patch25: php-4.3.9-metaphone.patch
# Functional changes
Patch30: php-5.0.4-dlopen.patch
Patch31: php-5.2.4-easter.patch
I suppose that source for 5.2.5 should already include all fixed bugs?
Regards,
Dmitry
Hi,
I got the same conflicts error as Roger did, for example
Transaction Check Error:
file /usr/bin/mysqldumpslow from install of mysql-server-5.0.58-jason.1 conflicts with file from package mysql-5.0.22-2.2.el5_1.1
.....
I am using centos 5.1.
you mentioned to install yum plugins (e.g. protectbase?). I wonder how to install those yum plugins?
thanks!!
however, when I run 'yum update php', the upgrade went smoothly. I am afraid that conflicts error is about mysql only. how do I get around those errors? thanks!
I ge the following error while trying to update php to 5.2.5:
Error: Missing Dependency: libapr-0.so.0 is needed by package subversion
Error: Missing Dependency: libaprutil-0.so.0 is needed by package subversion
Is there anything I can do?
@Dmitry,
Those patches are not necessarily bug fixes. For example, Patch31 removed 7K (or so) of code that changes the logo on your phpinfo() on Easter day. Most are just behavioral changes that Red Hat/Fedora decided they wanted in their packages. I keep them so that my packages are as close to the originals as possible, just newer versions.
@tony,
Unless I typoed, I had mentioned that you should NOT use protectbase as it will prevent external repos from replacing packages that are a part of the 'base' repo.
@George,
It sounds like you are just trying to install php, rather than all of the deps. The easiest way to update your system is going to be to use my yum repo and run a "yum update".
Got a problem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#> yum.repos.d]# yum update php
Setting up Update Process
Setting up repositories
Reading repository metadata in from local files
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for php to pack into transaction set.
php-5.2.5-jason.1.x86_64. 100% |=========================| 4.0 MB 00:03
http://www.jasonlitka.com/media/EL4/x86_64/php-5.2.5-jason.1.x86_64.rpm: [Errno -1] Header is not complete.
Trying other mirror.
Error: failure: php-5.2.5-jason.1.x86_64.rpm from utterramblings: [Errno 256] No more mirrors to try.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
version of yum using:
Name : yum
Arch : noarch
Version: 2.4.3
Release: 4.el4.centos
Size : 1.3 M
Repo : installed
I checked for proxy settings and I have correctly configured my proxy settings since I was able to install many other packages in the last day or so.
Right now I have some packages installed from centosplus I don't know if that makes a difference.
Thanks for the effort in general though.
Hi Jason
Good packages - however I'm trying to build my own PHP as I need T1 support, however trying to install the httpd-devel with yum from your repro. says it needs httpd jason.3 which it can't find. Any ideas why not as I can see it in your repository as an .rpm and it is in your .xml.gz files?
--> Running transaction check
--> Processing Dependency: cyrus-sasl-devel >= 2.1 for package: openldap-devel
--> Processing Dependency: httpd = 2.2.8-jason.3 for package: httpd-devel
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for cyrus-sasl-devel to pack into transaction set.
cyrus-sasl-devel-2.1.22-4 100% |=========================| 24 kB 00:00
---> Package cyrus-sasl-devel.i386 0:2.1.22-4 set to be updated
--> Running transaction check
--> Processing Dependency: httpd = 2.2.8-jason.3 for package: httpd-devel
--> Finished Dependency Resolution
Error: Missing Dependency: httpd = 2.2.8-jason.3 is needed by package httpd-devel
Alex
Hi, unfortunatley i also didn't succed in upgrading php and stuff on one of my CENTOS5 boxes.
here a snippet of what yum is telling me:
-bash-3.1# yum clean all && yum update
Loading "installonlyn" plugin
Cleaning up Everything
Loading "installonlyn" plugin
Setting up Update Process
Setting up repositories
utterramblings 100% |=========================| 951 B 00:00
base 100% |=========================| 1.1 kB 00:00
updates 100% |=========================| 951 B 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 52 kB 00:00
################################################## 197/197
primary.xml.gz 100% |=========================| 834 kB 00:00
################################################## 2400/2400
primary.xml.gz 100% |=========================| 229 kB 00:00
################################################## 462/462
primary.xml.gz 100% |=========================| 157 B 00:00
primary.xml.gz 100% |=========================| 104 kB 00:00
################################################## 361/361
No Packages marked for Update/Obsoletion
then:
-bash-3.1# php -v
PHP 5.1.6 (cli) (built: Sep 20 2007 10:16:10)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
and after all that:
-bash-3.1# yum install php-mcrypt
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for php-mcrypt to pack into transaction set.
php-mcrypt-5.2.5-jason.1. 100% |=========================| 13 kB 00:00
---> Package php-mcrypt.x86_64 0:5.2.5-jason.1 set to be updated
---> Downloading header for php-mcrypt to pack into transaction set.
php-mcrypt-5.1.6-15.el5.c 100% |=========================| 4.2 kB 00:00
---> Package php-mcrypt.i386 0:5.1.6-15.el5.centos.1 set to be updated
--> Running transaction check
--> Processing Dependency: libc.so.6(GLIBC_2.2.5)(64bit) for package: php-mcrypt
--> Processing Dependency: libmcrypt.so.4()(64bit) for package: php-mcrypt
--> Processing Dependency: libc.so.6()(64bit) for package: php-mcrypt
--> Processing Dependency: php-common = 5.2.5-jason.1 for package: php-mcrypt
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for php-common to pack into transaction set.
php-common-5.2.5-jason.1. 100% |=========================| 18 kB 00:00
---> Package php-common.x86_64 0:5.2.5-jason.1 set to be updated
---> Package php-mcrypt.i386 0:5.1.6-15.el5.centos.1 set to be updated
--> Running transaction check
--> Processing Dependency: libc.so.6(GLIBC_2.2.5)(64bit) for package: php-mcrypt
--> Processing Dependency: libc.so.6(GLIBC_2.3)(64bit) for package: php-common
--> Processing Dependency: php-common = 5.1.6-15.el5 for package: php-gd
--> Processing Dependency: libc.so.6(GLIBC_2.2.5)(64bit) for package: php-common
--> Processing Dependency: php-common = 5.1.6-15.el5 for package: php-mbstring
--> Processing Dependency: libc.so.6()(64bit) for package: php-common
--> Processing Dependency: php-common = 5.1.6-15.el5 for package: php-pdo
--> Processing Dependency: php-common = 5.1.6-15.el5 for package: php-mysql
--> Processing Dependency: libmcrypt.so.4()(64bit) for package: php-mcrypt
--> Processing Dependency: libc.so.6()(64bit) for package: php-mcrypt
--> Processing Dependency: php-common = 5.1.6-15.el5 for package: php
--> Processing Dependency: libz.so.1()(64bit) for package: php-common
--> Processing Dependency: php-common = 5.1.6-15.el5 for package: php-cli
--> Finished Dependency Resolution
Error: Missing Dependency: libc.so.6(GLIBC_2.2.5)(64bit) is needed by package php-mcrypt
Error: Missing Dependency: libmcrypt.so.4()(64bit) is needed by package php-mcrypt
Error: Missing Dependency: libc.so.6()(64bit) is needed by package php-mcrypt
Error: Missing Dependency: libc.so.6(GLIBC_2.3)(64bit) is needed by package php-common
Error: Missing Dependency: php-common = 5.1.6-15.el5 is needed by package php-gd
Error: Missing Dependency: libc.so.6(GLIBC_2.2.5)(64bit) is needed by package php-common
Error: Missing Dependency: php-common = 5.1.6-15.el5 is needed by package php-mbstring
Error: Missing Dependency: libc.so.6()(64bit) is needed by package php-common
Error: Missing Dependency: php-common = 5.1.6-15.el5 is needed by package php-pdo
Error: Missing Dependency: php-common = 5.1.6-15.el5 is needed by package php-mysql
Error: Missing Dependency: php-common = 5.1.6-15.el5 is needed by package php
Error: Missing Dependency: libz.so.1()(64bit) is needed by package php-common
Error: Missing Dependency: php-common = 5.1.6-15.el5 is needed by package php-cli
i really dunno, what to do next
on one of my centos boxes (different install) everything went right.
Any hints are appreciated
ok, got it
i really had to hardcode the .repo file with i386
Bah! I spent another 4/5 hours rebuilding my own httpd tree from source and scratch and built my own in the end
Good to know it's fixed though as I can update my tree at some point.
BTW I now have a nice PHP build with GD and T1Lib support built in if anyone is after a copy!
Alex
Well it installs fine, php 5.2.5, and php -v shows 5.2.5, but if I run phpinfo via apache it says php 5.2.3 (the previous install). I show that libphp5.so is still from Aug 2007, why didn't it update? Do I uninstall the php modules and reinstall? Do I need to uninstall 5.2.5, 5.2.3, then install 5.2.5?
Hi Brian
Dumb thing to check, but have you restarted your httpd to reflect the changes? Also, as PHP by default uses PHP as a module, have you updated the modules/libphp5.so - I think it only uses the PHP binary if you are running it as a CGI/Executable
Alex
Jason,
Awhile back, I upgraded to PHP 5.2.5 with yum via your repository. Everything worked great.
I am on CentOS 5, and I recently upgraded PCRE 6.6 to 7.6 and enabled Unicode support. In the PHP configure command there is this flag: --with-pcre-regex=/usr. PHP is still recognizing my old PCRE 6.6 library. After looking around, I've found I need to recompile PHP for it to use the upgraded library. Is this possible with yum? Any suggestions would be helpful.
Thanks,
Simeon
I decided to give removing php a try. Here are the steps I took:
stop mysql
stop apache
yum remove php
yum install php
start mysql
start apache
PCRE Library was still 6.6. --with-pcre-regex=/usr and PCRE's include and library files are located in /user. Any thoughts? Thanks in advance.
Just letting you know php 5.2.6 was released
@Simeon,
Upgrading to php 5.2.6 might fix your issue considering one of the security fixes is "Upgraded PCRE to version 7.6 (Nuno)"
Jesse
but when ?
Jaaaaaaaaaaaaaaason
Do something.. pleaz!
hi,
I have a installation of php 5.2.2. From the cli the xsl module is not available. Although libxslt is installed and xsltproc works just fine. How can I enable/upgrade php to have this xsl module? I'm very new to php and any help would be useful.
@Jesse ... my issue was with PCRE. Version 6.6 was installed in /lib and /usr/lib. I removed the version from /lib, and the upgrade to PCRE 7.6 was completely successful. Next, I followed these steps, and PHP recognized PCRE 7.6.
stop mysql
stop apache
yum remove php
yum install php
start mysql
start apache
@All,
PHP 5.2.6 and PCRE 7.6 are now available in my repo.
Hello Jason,
Do you have an ETA on a src 5.2.6 from you?
New version (5.2.6) is online
Jason,
Will you be putting up the SRPM of PHP 5.2.6 ?
Hi,
I have used your repo to upgrade my Centos4 system to these versions. I did have to rip out my current php/mysql before I was able to get this to work but all seems good so thanks for the repo.
One issue I encountered is with qmail
/var/qmail/bin/relaylock
/var/qmail/bin/relaylock: /usr/lib64/mysql/libmysqlclient.so.14: no version information available (required by /var/qmail/bin/relaylock)
--------
I am using your mysqlclient14.
This was causing mail to not go into its mailboxes. I grabbed the library file from my duplicate test server which was running the standard version and overwrote it and it's working fine since.
Any ideas why it would throw that error?
Thanks
Sorry - I went back and read your instructions - worked like a charm! Thanks
Thanks for the updates! It went smoothly at my server.
avtx30
I see the XMLWriter is disabled when compiling the source
./configure' '--host=x86_64-redhat-linux-gnu' '--build=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--without-mime-magic' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter' '--disable-json'
Is there a way to load XMLWriter afterward as it's necessary for my application?
Thanks,
Vic
Sorry, I think I have asked a stupid question -- by installing the php-xml rpm, and I got the XMLWriter running.
Vic
Hey Jason, any chance you will be posting the scr.rpm for PHP 5.2.6?
How about support for memcached? I'm trying to use your 5.2.x PHP installs, but when I install php-pecl-memcache (from another repository), I run into the following error on the command-line:
$ php -v
PHP Warning: PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
in Unknown on line 0
PHP 5.2.6 (cli) (built: May 5 2008 10:32:59)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
Mike Brittain:
I installed memcached directly from sources successfully.
$pear install http://pecl.php.net/get/memcache-2.2.3.tgz
Jason,
please help with compiling php5.2.6 with mailparser 2.1.4 under centos 5.1.
After installing your packages via yum, and then bulding from source mailparser i'm getting error about unable to load dynamic library (all php). Also please provide a link with patched php-5.2.6 source rpm for centos 5.1.
Thanks!
regards,
Mike
I too could do with a SRPM for 5.2.6 (on EL4 though); we're using an updated libcurl and a few other libraries, so need to build from source.
I've cludged a build together, but would like to see how you handled a couple of the issues.
Thanks for your RPMs though, they've made life so much easier!
Thanx, i am using your yum repository with great pleasure. But is it possible to publish your source RPM of php 5.2.6. I would like to customize some small thing.
Thanx in advance..
Regards,
Ron
Hi Jason,
The 5.2.6 rpm corrected an issue with pear, Thanks very much. Now I have issues with gd & freetype, is it possible to publish the source rpm so I can make a few custom changes.
Thanks again,
Lou
Hi,
I'm having major issues with 5.2.6 with lighty.
2008-08-02 23:43:31: (mod_fastcgi.c.2471) unexpected end-of-file (perhaps the fastcgi process died): pid: 3718 socket: tcp:127.0.0.1:1029
2008-08-02 23:43:31: (mod_fastcgi.c.3296) response already sent out, but backend returned error on socket: tcp:127.0.0.1:1029 for /account/page.php , terminating connection
This is fixed in php here: http://cvs.php.net/viewvc.cgi/php-src/main/SAPI.c?r1=1.202.2.7.2.15&r2=1.202.2.7.2.16&pathrev=PHP_5_2&diff_format=u
Any chance you can release later PHP version to fix this?
Thanks.
Hi,
i installed a lot of your scripts. First I built the php 5.2 by source (see howto), after that I was able to include your yum repository.
Now I have an interesting situation. I'm not able to access the mysql - database on the server via tcp (by php). I wrote a script to try the database connection and I got the following result:
dbconnecttest.php:
localhost: erfolgreich # it is working, localhost jumps to socket
192.168.1.12: keine Verbindung möglich # no connection on db server (same host)
192.168.1.200: keine Verbindung möglich # no connection on db server (remote host)
All db servers are working and the ports are open. Other systems are able to access the mysql servers.
List of packages:
[root@web02 php.d]# yum list | grep jason
* utterramblings: http://www.jasonlitka.com
mysql.i386 5.0.58-jason.2 installed
mysql-devel.i386 5.0.58-jason.2 installed
mysql-server.i386 5.0.58-jason.2 installed
php.i386 5.2.6-jason.1 installed
php-bcmath.i386 5.2.6-jason.1 installed
php-cli.i386 5.2.6-jason.1 installed
php-common.i386 5.2.6-jason.1 installed
php-dba.i386 5.2.6-jason.1 installed
php-devel.i386 5.2.6-jason.1 installed
php-embedded.i386 5.2.6-jason.1 installed
php-gd.i386 5.2.6-jason.1 installed
php-imap.i386 5.2.6-jason.1 installed
php-ldap.i386 5.2.6-jason.1 installed
php-mbstring.i386 5.2.6-jason.1 installed
php-mcrypt.i386 5.2.6-jason.1 installed
php-mhash.i386 5.2.6-jason.1 installed
php-mssql.i386 5.2.6-jason.1 installed
php-mysql.i386 5.2.6-jason.1 installed
php-ncurses.i386 5.2.6-jason.1 installed
php-odbc.i386 5.2.6-jason.1 installed
php-pdo.i386 5.2.6-jason.1 installed
php-pgsql.i386 5.2.6-jason.1 installed
php-snmp.i386 5.2.6-jason.1 installed
php-soap.i386 5.2.6-jason.1 installed
php-tidy.i386 5.2.6-jason.1 installed
php-xml.i386 5.2.6-jason.1 installed
php-xmlrpc.i386 5.2.6-jason.1 installed
subversion.i386 1.4.4-jason.1 installed
Do you have an idea?
Hi Jason,
I am having problem install the php-bcmath package on my CentOS 5.2 server. I use your repository to upgrade my PHP version to 5.2.6. However when I tried to install bcmath by 'yum install bcmath', I got the following result:
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
* utterramblings: http://www.jasonlitka.com
* extras: mirror.sanctuaryhost.com
* updates: dist1.800hosting.com
* base: mirror.raystedman.net
* addons: mirror.raystedman.net
Setting up Install Process
Parsing package install arguments
No package bcmath available.
Nothing to do
So I guess bcmath is not available in your repository? I found an RPM package of bcmath for php 5.2.6. When I tried to install it, I got this error: php-common = 4:5.2.6-4 is needed by php-bcmath-5.2.6-4.i586
I wonder what's going wrong my install bcmath. Could you or somebody else to help me out?
Thanks a lot!!
thanks
Hi Jason and others,
Thanks for the repo and its rewards you offer to us all, great work, I do however have an issue as a noob to all this and that is after adding the repo I did a yum update which resulted in the following being installed or not as the case maybe;
* utterramblings: http://www.jasonlitka.com
apr.x86_64 1.2.12-2.jason.1 installed
apr-util.x86_64 1.2.12-5.jason.1 installed
httpd.x86_64 2.2.8-jason.3 installed
httpd-devel.x86_64 2.2.8-jason.3 installed
mod_perl.x86_64 2.0.3-14.jason.1 installed
mod_ssl.x86_64 1:2.2.8-jason.3 installed
pcre.x86_64 7.6-jason.1 installed
php-pear.noarch 1:1.6.2-1.jason.1 installed
apr-devel.x86_64 1.2.12-2.jason.1 utterramblings
apr-util-devel.x86_64 1.2.12-5.jason.1 utterramblings
apr-util-mysql.x86_64 1.2.12-5.jason.1 utterramblings
apr-util-pgsql.x86_64