I have read this "how to" with great interest: http://www.howtoforge.com/apache2_with_php5_and_php4 I have a question about it: Is it possible to add this as a little extra to a server running Debian 3.1 according "the perfect setup" including ISPConfig? Or do i have to do this in another way?
Yes, but I'd then put Code: AddHandler php-script .php4 Action php-script /cgi-bin/php4 into each Vhost seperately (using the Apache Directives field of ISPConfig) because otherwise PHP4 is always on (for every web site). Also check the PHP5 configuration: PHP5 should not be enabled globally, so you must change /etc/apache2/mods_available/php5.conf (otherwise PHP5 is enabled for every web site, no matter what you specify in ISPConfig).
I've done it just today. I had a stable debian sarge system, running apache2, mysql-4.1, and php4 (all the modules installed in "the perfect setup"). I've decided to let php4 run like apache2 module, as it is in "the perfect setup", and I just wanted to add php5 as a cgi. I just ran: apt-get install php5-cgi Then I had to edit my "httpd.conf" file, or better to say one virtaul host's directives. A added a line in one of the <VirutalHost...> entries: Code: AddHandler php-scriptt .php Action php-scriptt /cgi-bin/php5 Notice the 2 tt's in the config file!!! I had to do it this way cause otherwise php4 always parsed the file in that directory, even when I tried to use .php5 extension. I also added "Options +ExecCGI" to that directory, just in case, not shure if it's really needed. This works like a charm, a can set php4/php5 on "per virtualhost" bases, or even per directory if I want to. Also, I don't need to change extension and do a search&replace on every skript that needs to be in PHP5. Not to mention the trouble you have to go, upgradeing one og these scripts... It's kinda late now, have to catch some sleep I just need to install a cople more things, I want to install Code: apt-get install php5-curl php5-dev php5-gd php5-gmp php5-imap php5-ldap php5-mcrypt php5-mhash php5-ming php5-mysql php5-mysqli php5-odbc php5-pdo-mysql php5-pdo-sqlite php5-pear php5-pspell php5-snmp php5-sybase php5-tidy (I'm not touching any php4 modules) but I get a warning Code: The following packages will be REMOVED: php4-dev php4-pear Hm, what to do? I would really like to leave pear repository for php4...
Yep, that's it. It work great! Maybe you should think of rewriting your original article? Or would you like me to write a new article "PHP5 extends The Perfect Setup - Debian Sarge (3.1)" ?
Problem with upgrade Whenever I try and run the following line I get the following output: Code: apt-get install php5-curl php5-dev php5-gd php5-gmp php5-imap php5-ldap php5-mcrypt php5-mhash php5-ming php5-mysql php5-mysqli php5-odbc php5-pdo-mysql php5-pdo-sqlite php5-pear php5-pspell php5-snmp php5-sybase php5-tidy php4-curl php4-domxml php4-gd php4-gmp php4-imap php4-ldap php4-mcal php4-mcrypt php4-mhash php4-ming php4-mysql php4-odbc php4-pspell php4-recode php4-snmp php4-xslt php4-xdebug curl libwww-perl imagemagick Code: Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: php5-curl: Depends: phpapi-20041225 Depends: php5-common (= 5.1.6-0.dotdeb.2) but 5.1.6-1 is to be installed php5-gd: Depends: phpapi-20041225 php5-gmp: Depends: phpapi-20041225 Depends: php5-common (= 5.1.6-0.dotdeb.2) but 5.1.6-1 is to be installed php5-imap: Depends: phpapi-20041225 php5-ldap: Depends: phpapi-20041225 php5-mcrypt: Depends: phpapi-20041225 php5-mhash: Depends: phpapi-20041225 php5-ming: Depends: phpapi-20041225 php5-mysql: Depends: phpapi-20041225 php5-mysqli: Depends: phpapi-20041225 php5-odbc: Depends: phpapi-20041225 php5-pdo-mysql: Depends: phpapi-20041225 Depends: php5-common (= 5.1.6-0.dotdeb.2) but 5.1.6-1 is to be installed php5-pdo-sqlite: Depends: phpapi-20041225 Depends: php5-common (= 5.1.6-0.dotdeb.2) but 5.1.6-1 is to be installed php5-pear: Depends: php5-cli but it is not going to be installed php5-pspell: Depends: phpapi-20041225 Depends: php5-common (= 5.1.6-0.dotdeb.2) but 5.1.6-1 is to be installed php5-snmp: Depends: phpapi-20041225 Depends: php5-common (= 5.1.6-0.dotdeb.2) but 5.1.6-1 is to be installed php5-sybase: Depends: libct1 but it is not going to be installed Depends: phpapi-20041225 Depends: php5-common (= 5.1.6-0.dotdeb.2) but 5.1.6-1 is to be installed php5-tidy: Depends: phpapi-20041225 Depends: php5-common (= 5.1.6-0.dotdeb.2) but 5.1.6-1 is to be installed E: Broken packages Any ideas? I had different servers in my sources.list file, but I made a copy and created a new sources.list file with the same source as you specify in the server config. I am running the Debian Perfect server setup with Ruby and FastCGI. Thanks, Fred
That's the reson for your problem. That doesn't help because your system still has the packages of the other repositories in its package database.
Sorry for reopening older post, I try to install those packages from gog's post, but I get errors Code: E: Package php5-mysqli has no installation candidate E: Couldn't find package php5-pdo-mysql I used Falco's sources links, did something change with those source links?... EDIT: I tried also other source servers, for example : Code: deb http://dotdeb.pimpmylinux.org/ stable all deb-src http://dotdeb.pimpmylinux.org/ stable all but no success. Can someone point me to alternatives? Thanks!
Maybe there is no package for php5-mysqli. You can search for all available PHP5 packages by running Code: apt-cache search php5 And make sure you run Code: apt-get update whenever you change /etc/apt/sources.list!
Falko,thanks for reply! No, there are no such packages as php5-mysqli or php5-pdo-*. Are they crutial? Here is my sources.list : Code: deb ftp://ftp.debian.org/debian stable main contrib non-free deb http://security.debian.org stable/updates main contrib non-free #Host Europe server: #deb ftp://80.237.136.138/mirror/ftp.debian.org/debian/ sarge main contrib non-free deb ftp://ftp.hosteurope.de/mirror/ftp.debian.org/debian/ sarge main deb-src ftp://ftp.hosteurope.de/mirror/ftp.debian.org/debian/ sarge main deb http://dotdeb.pimpmylinux.org/ stable all deb-src http://dotdeb.pimpmylinux.org/ stable all #deb http://ftp2.de.debian.org/debian/ stable main #deb-src http://ftp2.de.debian.org/debian/ stable main and here apt-cache search php5 : Code: libapache-mod-php5 - server-side, HTML-embedded scripting language (apache 1.3 module) libapache2-mod-php5 - server-side, HTML-embedded scripting language (apache 2.0 module) php-pear - PEAR - PHP Extension and Application Repository php5 - server-side, HTML-embedded scripting language (meta-package) php5-cgi - server-side, HTML-embedded scripting language (CGI binary) php5-cli - command-line interpreter for the php5 scripting language php5-common - Common files for packages built from the php5 source php5-curl - CURL module for php5 php5-dev - Files for PHP5 module development php5-gd - GD module for php5 php5-gmp - GMP module for php5 php5-imap - IMAP module for php5 php5-ldap - LDAP module for php5 php5-mcrypt - MCRYPT module for php5 php5-mhash - MHASH module for php5 php5-ming - Ming module for php5 php5-mysql - MySQL module for php5 php5-odbc - ODBC module for php5 php5-pgsql - PostgreSQL module for php5 php5-pspell - Pspell module for php5 php5-recode - recode module for php5 php5-snmp - SNMP module for php5 php5-sqlite - SQLite module for php5 php5-sybase - Sybase / MS SQL Server module for php5 php5-tidy - Tidy module for php5 php5-xmlrpc - XML-RPC module for php5 php5-xsl - XSL module for php5 php4-pear - PHP Extension and Application Repository (transitional package) php5-apc - apc module for php5 php5-suhosin - suhosin module for php5
Error 404? Hello, I am running Sarge 3.1, Apache2, and php4. I installed php5-cgi in order to have php5 parse a single directory that I need parse by php5, and not php4. I followed the tutorials, and added this to my virtual host file: Code: <Directory /my/directory/> AddHandler php5-cgi .php Action php5-cgi /usr/lib/cgi-bin/php5 Options +ExecCGI </Directory> Unfortunately, however, when I navigate to www.example.com/my/directory/info.php, I get an Error 404, Object Not Found error. Outside of /my/directory, though, php4 works as normal. If anybody knows how to remedy this problem, please let me know. Thanks.
Well, the path in the action is not the server path but "web path". You are actually pointing it to /my/directory/usr/lib/cgi-bin/php5 what I did is the following: I copied the php4 binary (I use php4 now a cgi for a few things that don't run yet on php5) to my websites cgi folder: e.g. /my/directory/cgi-bin/php5 Then I set accordings permissions to the cgi-bin folder and the binary. and then I just put an .htaccess file within that web - whereever I want to use php as php4. Code: AddHandler php-script .php Action php-script /cgi-bin/php4 So for you, just put the php5 binary in a cgi-bin folder, make sure the folder's and the binary's permissions are ok and then you can fine-grain directory by directory where you want to use what Oh, regarding the php.ini - I have now to edit /etc/php4/cgi/php.ini to alter my php4-cgi ini
I got ISPConfig 2.2.27 and Debian Etch (php5) out of the Perfect HowTo and now just installed php4-cgi and some modules without a problem. If I give it a try and just put Code: AddHandler php-script .php4 Action php-script /cgi-bin/php4 into my vhosts-config and restart apache, i get an error by testing info.php4. Others like info.php still run on php5 so far. If I change this to Code: AddHandler php-script .php Action php-script /cgi-bin/php4 just for testing it runs the info.php4 but on php5....is there something wrong or else to do within debian etch to just get php4 working on testscripts?