Kevin “Skwerl” Cogill

“Skwerls are the people who make the internet useful.” -Joel Stein, TIME Magazine (9/7/08)

Kevin “Skwerl” Cogill RSS Feed
 
 
 
 

Customizing PHP5 On DreamHost

I recently signed up for a DreamHost account. I’d been self-hosting for years, and I set up Antiquiet on a friend’s server. However, I was about to need a lot more technical support than I felt comfortable asking of a friend who was doing me a favor, as I planned to launch this site, as well as Johnny’s site and Britney’s.

I used to use MediaTemple back in the day. I loved them, but they’re a bit pricey, and I had a bad experience where they shut my site down (and eventually lost it) while I struggled (and ultimately failed) to pay a large hosting bill.

So far, DreamHost has been amazing. I can park an unlimited number of domains, with plenty of bandwidth to go around. I can do 95% of everything I need to do, from setting up domains and subdomains, to creating and managing SVN repositories, all with the admin panel. Web hosting seems to have come a long way since 2004.

When I do need to open a support ticket, I always get a prompt response from a real person who speaks proper English and seems genuinely happy to help. When setting up a ticket, there’s a little pulldown menu for the nature of the situation, and I find it refreshingly applicable; choices are:

  1. Just a casual question, comment, idea, suggestion…
  2. I need some help but it’s not super time-sensitive.
  3. I can’t get things done until I hear back from you, please reply ASAP.
  4. Things are broken and I’d like them not to be!
  5. OMG! EXTREME CRITICAL EMERGENCY!! EVERYTHING’S BROKEN! People are DYING!

It also asks for your level of expertise in the area you’re seeking support with, which cuts down on the “did you try power cycling?” responses, or indecipherable jargon when you’re a nub and you need something in simple terms.

Anyway, the only complaint I had with the server setup was the PHP upload limit. I installed wordTube (which I plan to overhaul) on Johnny’s blog, but DreamHost’s global limit of 7MB on shared hosting would make it difficult for Johnny to add videos on a whim, without having to teach him enough about FTP access to be dangerous.

But while DreamHost support refuses to entertain requests to raise the limit, they pointed me to their extensive Wiki, which explained that since they already run PHP as a CGI process, there’s really no reason you couldn’t compile your own PHP installation in your own area of the shared server- configured however you’d like- and have your sites use that instead of DreamHost’s.

But I ran into problems, as on September 2nd, DreamHost upgraded their shared hosting servers to Debian Etch, just barely breaking all of the provided install scripts. Of course if it was a dedicated Debian box, you could just use apt to install PHP5, but a shared box means you have to do it the old fashioned way.

After a day or two of hacking around, I managed to piece together a single shell script that would install PHP 5.2.5 with all the standard modules, on DreamHost’s new Debian Etch system.

So if you want to set up your own PHP installation on DreamHost, to have full control over your php.ini file, here’s how:

1. Run the install script

Download this PHP5 install script (Updated 01/10/09). You need to edit line 14, and replace ‘iamskwerl.com’ with your domain where you want to install your own PHP5. If you want to have all your domains use the same installation, that’s super easy to do later, but we just need to pick one now to start with. It will actually install PHP to your home folder, but the script needs to know where to put the first php.ini file. So edit line 14 and hit save.

Now copy the script into your home directory (don’t put it in a subfolder). You can do that part with FTP, but you’ll need to do the rest from the command line via SSH. Once you’re in the shell, make sure you have execute permissions on the install script, and run it by typing:

./sh php5-singlescript.sh

It will take an hour or so, and will require you to hit y & enter a couple of times near the end. It won’t timeout on you if you don’t respond right away, so no need to sit there and stare at it, but don’t go on vacation and expect to come home to a completed PHP installation.

2. Make sure you’ve got the right php.cgi

When I installed PHP5 with the script above, my PHP scripts didn’t work at first. Apparently the script put the wrong php.cgi into my site’s cgi-bin directory. To fix this problem before you find it the hard way, type this in the shell: 

cp ~/php5/bin/php-cgi ~/iamskwerl.com/cgi-bin/php.cgi

and hit enter. Be sure to replace ‘iamskwerl.com’ with your domain.

3. Activate via .htaccess

At this point, you have a(n assumably) working PHP installation ready and waiting for some action, but your site is still using DreamHost’s because it hasn’t been told otherwise yet.

The beauty of this solution is that you can use .htaccess files to have only certain directories use your custom PHP installation, depending on where you put them. Just remember that .htaccess files affect all files and folders in the same directory, as well as all subfolders- but they do not affect anything outside of the directory they’re in.

So if you want the whole site to use your custom PHP installation, just create an .htaccess file in your domain’s webroot and call it a day.

But for Johnny’s site, I decided that I only wanted the WordPress admin to use the custom installation with the raised upload limit, while letting the front end of the site continue to use DreamHost’s more conservative installation- to be on the safe side. So I added the .htaccess file to the wp-admin directory.

Here’s what the .htaccess file should look like. If an .htaccess file already exists, just add this to the top and keep the rest as-is:

Options +ExecCGI
AddHandler php-cgi .php
Action php-cgi /cgi-bin/php.cgi

<FilesMatch "^php5?.(ini|cgi)$">
Order Deny,Allow
Deny from All
Allow from env=REDIRECT_STATUS
</FilesMatch>

4. Test your custom PHP installation

Create a phpinfo file in the site you’ve installed your custom PHP for. Just create a new file called phpinfo.php, with the following contained therein:

<?php phpinfo(); ?>

Access phpinfo.php with a web browser, and you should get a pretty blue and grey table full of cool looking variables and version information. If you get an internal server error (500), there’s probably a problem with your .htaccess file. Clear out what you added to go back to using DreamHost’s standard PHP installation, make sure you did step 2 right, and then make sure that the php.cgi script in your site’s cgi-bin directory has execute permissions before trying step 3 again, carefully.

If your phpinfo.php file tells you your php.ini path is /home/you/php5/etc/php5/yoursite.tld, you’ve successfully set up a custom PHP installation!

5. Do something with it!

You can now edit your php.ini file, which can be found in the path reported by phpinfo (and mentioned above). At the very least, you’ll probably want to up your maximum file upload size by looking for the following lines:

post_max_size = 2M

and

upload_max_filesize = 2M

and replacing 2M with 32M or something more reasonable. You can just save your php.ini file for the change to take effect; since PHP is running as CGI, no need to restart Apache.

6. Let other domains use the custom installation (optional)

So as you can see from my script & examples, I set up my custom PHP installation for iamskwerl.com, but I wanted Johnny’s site to use it too.

It’s super easy to share the installation across different domains. You need to create an alias of the first site’s cgi-bin directory in the webroots of whichever sites you want to share it. For each additional site, run the following command from the shell:

ln -s /home/USERNAME/DOMAIN1.TLD/cgi-bin /home/USERNAME/DOMAIN2.TLD/cgi-bin

Replace USERNAME with your username, DOMAIN1.TLD with the domain name currently using the custom PHP installation, and DOMAIN2.TLD with a domain that you’d like to share it.

Then all you need to do is add .htaccess files for the new site, as described in step 3 above.

43 Responses to “Customizing PHP5 On DreamHost”

  1. 1
    jeanmichel:

    Hi there,

    thanks for the script :-)

    but i noticed that two lines dont get to work as they should;
    its seems that lines 36 and 37 which are

    LIBXML2=”libxml2-2.6.27″
    LIBXSLT=”libxslt-1.1.18″

    are giving “files not found” error and so the script stops there.

    So i went on the xmlsoft.org ftp site to check out by myself and it seems like libxml2-2.6.27
    and
    libxslt-1.1.18
    are not on the server anymore.

    I guess they simply updated the files to newer version.

    so, if i aint wrong, the lines 36 and 37 could respectively rather be:

    LIBXML2=”libxml2-2.7.2″
    LIBXSLT=”libxslt-1.1.24″

    which are the latest versions of the files we’re looking for.

    But it is still just a guess, i havent even tried it! ;-)
    i had the original libxml2-2.6.27 and libxslt-1.1.18 files copied on my own server somewhere so i used those instead.

    Anyway, thanks for the good work!

  2. 2
    Skwerl:

    ah, thanks!

  3. 3
    Becca:

    Thanks for pointing that out Jean Michel, I ran into that error, hopefully now I should be able to get the rest of my installation working.

    Thanks Skwerl for this tutorial and script! It’s a life saver after so many times I’ve been attempting (and obviously failing) to customize the PHP on my DreamHost site.

    Also, maybe you should update the script to the changes jeanmichel pointed out.

    Thanks,
    Becca

  4. 4
    Becca:

    Oh and I just wanted to let you know that instead of /home/USERNAME/ you can simply use $HOME, it’s much simpler :)

  5. 5
    Valters:

    isnt there really an easier way to get around the 7M upload limit? damn this really sucks :(

  6. 6
    eric:

    this came in really handy, to get the Zend Framework working on Dreamhost (just needed to add a stupid PHP path)

    thanks!

    btw, latest:

    LIBXML2=”libxml2-2.7.2″
    LIBXSLT=”libxslt-1.1.24″

  7. 7
    Skwerl:

    i’ve updated the script to point to the latest libxml2 & libxslt.
    yes, as becca says, you can use $HOME instead of /home/username in step 6. whatever works for you. i usually like to be explicit, especially when explaining to newbies, so they understand where things are going.

  8. 8
    Sasa:

    Hello!

    I am following your instructions and am stuck @ step 1.

    After I connect to my SSH, I attempt to run the ./sh php5-singlescript.php, but I get the following:

    [batman]$ ./sh php5-singlescript.sh
    -bash: ./sh: No such file or directory

    I have also tried:

    /sh php5-singlescript.sh
    .sh php5-singlescript.sh
    sh php5-singlescript.sh

    All with the same error… What am I doing wrong?

    I have attempted putting this file OUTSIDE my domainname.com folder and INSIDE it, and it still is not allowing me to run it.

    All I want to do is install this so I can turn Global Variables ON for PHP, so that my clan management scripts can run.

    Please Help!

    Sasa

  9. 9
    travis:

    Thanks a lot for this tutorial! This worked perfectly.

    If I had gold stars to give you, there would be 5/5 :)

  10. 10
    Skwerl:

    @sasa: ./sh php5-singlescript.sh or sh ./php5-singlescript.sh should work. but that error means your server doesn’t see the script. type ls + enter, and make sure that you see php5-singlescript.sh. if you don’t, make sure that you’re uploading your file to /home/you/php5-singlescript.sh and running your commands from /home/you/.

    thanks travis :)

  11. 11
    Matthew Rutledge:

    I just wanted to say that your instructions/script were bang on correct – the only snag was that one of the sourceforge servers timed out over a course of 12 hours and I had to restart the script 3 times, but that has nothing to do with the instructions. Perhaps there’s another repository or alternate address to use.

    It’s rare to find instructions for something like this that actually work without any hiccups; thank you again!

  12. 12
    Skwerl:

    happy to help!

  13. 13
    Zack:

    Hi Skewrl…just wanted to stop by and say thanks for the great script. I’ve been working from the wiki entry from Dreamhost and tried the other two scripts, both to no avail. I was having problems with the c-client, which I can see your script explicitly addressed.

    I was hoping you might be able to give me some advice about installing the zip extensions. I’ve been reading all kinds of sources to try to get it installed, but as of yet, have had no luck. I added “–with-zip” to the configure command, which resulted in a full configure command of:

    “‘./configure’ ‘–prefix=/home/username/php5′ ‘–with-config-file-path=/home/username/php5/etc/php5/domain.com’ ‘–enable-fastcgi’ ‘–enable-force-cgi-redirect’ ‘–with-xml’ ‘–with-libxml-dir=/home/username/php5′ ‘–with-freetype-dir=/home/username/php5′ ‘–enable-soap’ ‘–with-openssl=/home/username/php5′ ‘–with-mhash=/home/username/php5′ ‘–with-mcrypt=/home/username/php5′ ‘–with-zlib-dir=/home/username/php5′ ‘–with-jpeg-dir=/usr’ ‘–with-png-dir=/usr’ ‘–with-gd’ ‘–enable-gd-native-ttf’ ‘–enable-memory-limit’ ‘–enable-ftp’ ‘–enable-exif’ ‘–enable-sockets’ ‘–enable-wddx’ ‘–with-iconv=/home/username/php5′ ‘–enable-sqlite-utf8′ ‘–enable-calendar’ ‘–with-curl=/home/username/php5′ ‘–enable-mbstring’ ‘–enable-mbregex’ ‘–enable-bcmath’ ‘–with-mysql=/usr’ ‘–with-mysqli’ ‘–without-pear’ ‘–with-gettext’ ‘–with-imap=/home/username/php5′ ‘–without-imap-ssl’ ‘–with-zip’”

    I looked at my phpinfo and tried running scripts using the zip functions, but it did not appear to work. I then used the following to try installing via PECL: http://wiki.dreamhost.com/PECL_Zip. That also did not work.

    Do you have any ideas on how I could get this to work?

    Thanks again for the great script! It’s been a great learning experience and I happy to have a wonderful teacher out there.

  14. 14
    Zack:

    I figured it out. It should be “–enable-zip” not “–with-zip”. My phpinfo file looks like it should be working. Apparently, older versions of PHP needed the zzip library, which led to the “–with-zip” build instructions, whereas, newer versions of PHP have the library built-in and need the “–enable-zip” to allow the zip functions to work. Yay!

  15. 15
    Skwerl:

    ah, cool. glad you worked it out. ’cause i had no idea :) thanks for swinging by and leaving the tip for future visitors.

  16. 16
    Mark:

    Thanks for this demo, Skwerl. I spent nearly an entire day trying to use the Dreamhost wiki walkthroughs and I just couldn’t get it to work right. Specifically, I was trying to get zip functionality to work for a custom PHP application. I catch on to things pretty quickly but the world of rolling your own PHP install and SSH/scripts was new to me and throwing me for a loop. I only made 2 slight modifications to your script: First, I changed the php version to 5.2.6 on line 33. And, using feedback provided by Zack, I added “–enable-zip” somewhere around line 80. Once the install was complete and I updated my htaccess files, the zip functionality worked.

  17. 17
    Michael:

    Thanks so much for all this. Unfortunately the script isn’t working for me. I’ve made no modifications, apart from my domain name, and the cURL compile always fails with this message:

    /usr/bin/ld: /home/[homedir]/php5/lib/libssl.a(s2_clnt.o): relocation R_X86_64_32 against `a local symbol’ can not be used when making a shared object; recompile with -fPIC
    /home/[homedir]/php5/lib/libssl.a: could not read symbols: Bad value
    collect2: ld returned 1 exit status

    Maybe Dreamhost updated something, or maybe I need to change a flag? Any ideas?

  18. 18
    Sean:

    I’m having the same problem as Michael. I’ll post back if I can find a solution to it.

    p.s. I also ran into earlier problems where dreamhost would kill the compile process after a while for taking up too much cpu-usage. The solution thus far was to raise the resources on the virtual server. I believe it is set to 300mb now (burst to 600mb). Not sure if it’s a true solution seeing as I can’t get past cURL yet, though.

  19. 19
    Skwerl:

    that’s unfortunate guys. i worry that i won’t be able to be much help any longer as i’m moving from dreamhost to mediatemple. but if you find a solution sean, i’ll update my script / howto. good luck!

  20. 20
    Sean:

    Alright so something got messed up when I was having my initial problem of Dreamhost killing the process. If you restart the script, you need to remove the installdir too and then its fine. It was something to do with there already being a libssl.a file that made cURL’s make freak out. So, solution, start all the way over.. knock out all 3 directories and then it made it through ok for me.

    I’m mid-compile of php. I expect no more hiccups.

    Thanks skwerl.

  21. 21
    Mike Wilson:

    The only problem I ran into was the wget for php5:

    I changed it to:

    wget -c http://us3.php.net/distributions/${PHP5}.tar.gz

    and it ran fine.

  22. 22
    marujo:

    hi. i need to enable de fopen() to one of domain that i have in dremahost. how the easiest way to do it?
    sorry for my english. thanks!

  23. 23
    Lefteris:

    After 4 long days of trying to install a custom php version I decided to give it a break. I used this script and others found on Dreamhost wiki but all, for one reason or another, they fail. I did even build my own script trying to use more updated versions of the distributions but again I had no luck. Maybe the scripts are to blame or maybe it is Dreamhost the culprit.
    Anyway, I would suggest YOU to spend your time in a more productive way and just forget about a custom PHP install on Dreamhost.

  24. 24
    Almog Baku:

    Thanks a lot!

    I change the ver to 2.5.9 and its works!

    :)

  25. 25
    Romiz:

    Hey guys,
    how you made it?

    I changed php version to latest – 5.2.9, but I got error in cURL compilation:

    /usr/bin/ld: /home/***/php5/lib/libssl.a(s2_clnt.o): relocation R_X86_64_32 against `a local symbol’ can not be used when making a shared object; recompile with -fPIC
    /home/***/php5/lib/libssl.a: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make[2]: *** [libcurl.la] Error 1
    make[2]: Leaving directory `/home/***/source/curl-7.14.1/lib’
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/home/***/source/curl-7.14.1/lib’
    make: *** [all-recursive] Error 1

    Did anyone know what I should do with it?

    Please, help, deadline coming…

  26. 26
    Chris:

    HTTP request sent, awaiting response… 404 Not Found
    10:25:28 ERROR 404: Not Found.

    Says the page is not found when the script tries to install/download the necessary files now. It must be recent, because I did this install for someone a month or two ago and worked fine, what’s going on?

  27. 27
    Chris:

    What Mike Wilson said works.

  28. 28
    Chris:

    I tried it with version 5.2.9 and it errors halfway through. They updated 5.2.5 since all the vulnerabilities it had… Not sure what else to try.

    /home/example/php5/lib/libssl.a: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make[2]: *** [libcurl.la] Error 1
    make[2]: Leaving directory `/home/example/source/curl-7.14.0/lib’
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/home/example/source/curl-7.14.0/lib’
    make: *** [all-recursive] Error 1

  29. 29
    Chris:

    Same error with 5.2.8…

  30. 30
    Chris:

    Actually even get that error with 5.2.5 … really confused now.

  31. 31
    Timmy:

    I’m with Romiz and Chris.

  32. 32
    Jonathan:

    Anyone still getting a 404 while trying to download 5.2.5, change the line to

    wget -c http://museum.php.net/php5/${PHP5}.tar.gz

    since it has been since archived

  33. 33
    Doug:

    Massively helpful. Thank you Kevin, and thanks to Jonathan too for that URL.

    I’ve successfully compiled 5.2.5 on one domain, and am attempting 5.2.6 on another at the moment.

  34. 34
    Doug:

    5.2.6 seems to have compiled ok without any other change to the script apart from lines 14 and 33.

    One other thing to bear in mind before running the script is that when you edit line 14 to put your domain name in, the script assumes your domiain’s home folder has the same name as your actual domain.

    So if your have a folder in your home directory called “www” or “htdocs” or something and your website’s files reside in there, the script will make another folder called “yourdomain.tld” (or whatever you put in as your domain name on line 14 of the script) with the cgi-bin folder in it.

    I’m not yet sure if this causes a problem, I assume it might just require a change to the .htaccess file you use, or moving the cgi-bin folder to the web root folder, but I could very easily be wrong.

  35. 35
    Rajeev:

    I changed line 14 and 33 and got everything and just when I thought everything is running smoothly; I get this error after more than half hour of running.. Please help.

    /home/testuser909/source/php-5.3.0/build/shtool install -c ext/phar/phar.phar /home/testuser909/php5/bin
    ln -s -f /home/testuser909/php5/bin/phar.phar /home/testuser909/php5/bin/phar
    Installing PDO headers: /home/testuser909/php5/include/php/ext/pdo/
    cp: cannot stat `/home/testuser909/source/php-5.3.0/php.ini-dist’: No such file or directory

    How come the file is not there?

  36. 36
    Rajeev:

    As I knew this site and the script is no longer getting updated; I tried a few others and used the first script on this wiki:

    http://wiki.dreamhost.com/Installing_PHP5#Preparations

    I have my php installed and runnign on dreamhost with SOAP enabled.

    Thanks everyone

  37. 37
    wto605:

    Hey All,

    I’ve successfully used this script with very minor modifications… I forget how I got here exactly, but I remember finding this earlier in my search so I assume it is relatively visible. I’ve summarized what needed changed below both in terms of the successful run today as well as “future-proofing” the script.

    One quick note about PHP versions. I stuck with 5.2.10 (the last in the 5.2.x series) because I haven’t done anything with 5.3 yet and figure that at the very least it would cause more issues with this script and possibly even break it (or my webpages) altogether.
    [You can skip this part if you're happy to continue with 5.2.10, read on if you want to try 5.3]
    5.3 has been out over a month now, which is short enough in terms of web-development time that my webapps should be safe for a long while (Dreamhost is still on 5.2.9 with my server, and they serve as the unofficial measuring bar for a couple projects judging by the forums), but long enough that I’m sure you can find a group of more adventurous people (and better programmers) somewhere else to help you with that.

    [stop skipping]

    The most stubborn part about this script is that as old versions are removed from the mirrors wget cannot retrieve them (an error covered a few times above). This is still a great script… all you have to do is update the versions (lines 33 to 45) to the latest versions. As I’m writing this the current versions are listed below (please see the note below about CCLEINT which is one exception):

    PHP5=”php-5.2.10″
    LIBICONV=”libiconv-1.13.1″
    LIBMCRYPT=”libmcrypt-2.5.7″
    LIBXML2=”libxml2-2.7.3″
    LIBXSLT=”libxslt-1.1.24″
    MHASH=”mhash-0.9.9.9″
    ZLIB=”zlib-1.2.3″
    CURL=”curl-7.19.5″
    LIBIDN=”libidn-1.15″
    CCLIENT=”imap-2007e”
    CCLIENT_DIR=”imap-2007e” # Another pest!
    FREETYPE=”freetype-2.3.9″
    OPENSSL=”openssl-0.9.8k”

    NOTE: For c-client there are two cathes… first, the CCLIENT_DIR is a requirement for compiling, but all it is a directory, just set it to the same version of cclient you are using. The script is set to use an older version of cclient and changing that may break the script, however if you’re using a newer version of php (I’m using 5.2.10, I’ve used newer versions of c-client with 5.2.9 as well) you can also use the most recent version. To do this you must fix the script by removing /old from the wget path on line 105.

    Lastly, if you’re going to change the openssl version there is an error on line 107 that prevents the script from working properly, to fix this just change change “openssl-0.9.8i.tar.gz” to “${OPENSSL}” (without quotes) (you can do this even if you’re using version 0.9.8i without problems, but the point is moot)

    Good Luck!
    -Will

    P.S. Just a few more specifics:
    I did have to manually copy php.cgi (step 2)
    In my php.ini (step 5) I changed a bunch of stuff to more closely match DH’s php.ini, most significantely (don’t forget to uncomment any lines, a lot of these settings were disabled by default):
    session.save_path = “/tmp” (DH has a great structure set up)
    include_path = “.:/usr/local/php5/lib/php:/usr/local/lib/php” (DH’s php includes)

    I did add some php flags (line 81 and on)
    NOTE: Be sure each “inside” line ends in \ (with a space before it) and the last line ends with ”
    –enable-zip
    –with-imap-ssl=/usr (removed –without-imap-ssl)

  38. 38
    David:

    You don’t need to do this at all! There is a much simpler way to use your own php.ini.

    Follow the instructions here:

    http://wiki.dreamhost.com/index.php/PHP.ini

    The one thing I will add is that you have to wait 20 minutes or so for your changes to take effect it seems.

  39. 39
    Kidino:

    Hey, great script. I just did this today and it’s working well (so far).

    Make sure you check my date. I think you have to update the URLs for the wget accordingly to the most current version. And make sure that you get it from a valid URL. You may want to try the URL yourself just to make sure it’s a working download URL. If not, you will get a 404 error.

    You may want to check the websites and test the download yourself before updating 95 to 106.

    I think it’s no point for me telling you what URL I use. Not sure when you are reading this (check my date again).

    And then, another thing, I downloaded PHP 5.3.1. And at the end of the script, it tries to copy the php.ini-dist to the right path for your PHP. The thing is, that files in not in the 5.3.1 distribution. But there is a php.ini-production. So I copied that into the folder and rename it to php.ini.

  40. 40
    Majid Khan:

    For Michael, Romiz, Chris and all others who are getting ssl error. You guys are getting that error because SSL is not compiled as a shared library, for that you have to complie SSL in this way:
    ./configure –with-shared
    otherwise by default SSL is compiled as a static.

    Hope it will help.

    Regards,
    Majid

  41. 41
    links for 2010-04-20 | Digitalistic - Mashup or die trying:

    [...] Customize PHP On DreamHost | Skwerl (tags: php5 dreamhost php.ini custom installation) AKPC_IDS += "419,";Popularity: unranked [?] [...]

  42. 42
    jai:

    I’m having the same problem as sasa above. When i try to run the script, it gives me an error: -bash: ./sh: No such file or directory

    please help

  43. 43
    Neerav:

    Thanks for this script Skwerl.

    To get this working, i had to make the changes mentioned above and also a few which are not mentioned.

    You can download the working script as on 27 April 2010 here : http://bit.ly/customPHP5

    Hope its helpful

Leave a Reply