Showing posts with label php. Show all posts
Showing posts with label php. Show all posts

Monday, February 24, 2014

CakePHP - multiple projects on one Apache and CakePHP core

CakePHP - get multiple projects working on apache.
If you want to run two cakephp projects on one instance of Cake core, and apache, here is some useful info:

Edit - /etc/apache2/extra/httpd-vhosts.conf 
Add the following:

    ServerAdmin webmaster@one.local
    DocumentRoot "/Users/d/Documents/project/one/webroot/"
    ServerName one.local
    ServerAlias www.one.local
    ErrorLog "/private/var/log/apache2/one-error_log"
    CustomLog "/private/var/log/apache2/one-access_log" common

   
      Order allow,deny
      Allow from all
      #Options +Indexes
      Options -Indexes +FollowSymLinks
      AllowOverride All
   

    ServerAdmin webmaster@app.local
    DocumentRoot "/Users/d/Documents/project/app/webroot/"
    ServerName app.local
    ServerAlias www.app.local
    ErrorLog "/private/var/log/apache2/app.com-error_log"
    CustomLog "/private/var/log/apache2/app.com-access_log" common

   
      Order allow,deny
      Allow from all
      #Options +Indexes
      Options -Indexes +FollowSymLinks
      AllowOverride All
   



Now you have the two apps at:
http://one.local/
http://app.local/


Friday, May 7, 2010

stop php deprecated warnings in browser

I just installed newest version of wamp server on a new windows 7 machine. When I installed the web app, I got a bunch of following printouts in the browser at the top of every webpage:
Deprecated: Assigning the return value of new by reference is deprecated in [...]\cake\libs\inflector.php on line xxx

After spending an hour looking, here is what worked:

1. in cake/lib/object.php: add following in next line after <&ques;php
error_reporting(E_ALL ^ E_DEPRECATED);


2. in cake/libs/configure.php replace
error_reporting(E_ALL);
with
error_reporting(E_ALL ^ E_DEPRECATED);


3. in your php.ini, search for error_reporting and replace the entire line with
error_reporting = E_ALL & ~E_DEPRECATED

Friday, December 12, 2008

shindig and ssl

For our website, we are looking at some gadget/widget frameworks. First thing I tried was shindig from apache.

I had some trouble getting it to work, so I thought I will document the workaround, in case someone else has the same problem.
Note that in the end, the problem turned out to be different versions of openssl in apache and php, but here is how to work around it.

What caused the problem?
I like portable apps. So that whenever I change/upgrade my machine, I just copy my 'dev' directory to new machine, and my whole development environment is avaialble out of box.
I had set up apache and php about 2 years ago. Over time, as I played with various apps, lot of fat was added, not all of which jive together (notably openssl in this context).


So, to try out shindig, I downloaded the package and followed instructions from this site:
http://incubator.apache.org/shindig/#php

I turned on curl and openssl in php.ini, by uncommenting extensions for curl and openssl.

I configured virtal domain shindig.com and then I hit this url in a browser:
http://shindig.com/shindig/php/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xml

I got this error message:
Shindig requires the openssl extention, see http://www.php.net/openssl for more info

Without SSL, I got the above message, but with SSL, apache showed alert with this message whenever I tried to start apache.
"The ordinal 3879 could not be located in the dynamic link library LIBEAY32.dll"


I tried various things, but then I didn't really need ssl at this point, so here is what I did. I went into the shindig code, and found that I could work around the problem. Here is how:

In shindig/php/index.php
look for openssl, and change it like this:

//$modules = array('json', 'SimpleXML', 'libxml', 'curl', 'openssl');
$modules = array('json', 'SimpleXML', 'libxml', 'curl');

That's it. When I will need ssl, I will handle that, but for now, I can keep playing with shindig.