Posted by & filed under Wamp.

Step1:
First you need to download Wamp Server from www.wampserver.com and install Wamp Server on your machine. The default installation directory is ‘C:wamp” and here I am using the default options for installation. To complete the installation you have to set the host name for your mail server and your email address, here you can leave the default option again. That will do no harm.

The current Wamp Server will install Apache 2.2.11, PHP 5.2.9-2 + PECL, MySQL 5.1.33, SQLitemanager and PhpMyadmin.

Step2:
Now you have to download ActivePerl (currently 5.10.0) from www.activestate.com and install it. The default installation directory is “C:Perl“, but for simplicity and ease of use I use different directory. I create a new folder name “perl” inside “C:wampbin“. So I install Active Perl in “C:wampbinperl” directory. The next thing you need to do is configure the Apache web server to execute Perl and CGI script.

Step3:
This is the most important part here. You need to edit the Apache configuration file. Now go to “C:wampbinapacheApache2.2.11conf” directory and open “httpd.conf” file. Edit the httpd.conf file as below.

1. Inside httpd.conf, look for the line that says “<Directory “c:/wamp/www/”>“, just a few lines below this you’ll find the line that says “Options Indexes FollowSymLinks“. Add “Includes ExecCGI” in the line just next to FollowSymLinks, thus it look like this:

Options Indexes FollowSymLinks Includes ExecCGI

This will enable CGI script inside your www folder.

2. Now look for the line “AddHandler cgi-script .cgi“, this line is commented out. You need to enable this by un-comment this line, to do that remove the # character at the beginning of this line. This will add handler for files with .cgi extension. If you want to use .pl file extension in your server add “AddHandler cgi-script .pl” just below the above line. Now you will be able to execute CGI and Perl script with .cgi and .pl, extension.

Lines to add:

AddHandler cgi-script .cgi
AddHandler cgi-script .pl

3. To add directory index file, look for the line “DirectoryIndex index.php index.php3 index.html index.htm“. Add index.cgi and index.pl in this line.

Lines to add:

DirectoryIndex index.php index.php3 index.html index.htm index.cgi index.pl

Step4:
Your server is now configured and ready to run perl and cgi script. Next thing you might need to do is to configure perl to use mysql database. You need to download and install mysql driver to enable database connection through your perl script. You have to grab the driver from the ActivePerl package repository. However, mysql driver module is not available in the default ActivePerl Package Repository. So, you need to add additional repository and install from that repository. Follow the steps below:

1. Open command prompt [type cmd in run], navigate to your perl/bin folder (“cd c:wampbinperlbin”), then type “ppm repo add uwinnipeg” and press enter.

2. After the “uwinnipeg” repository is added successfully, you can install DBD-mysql by typing this command “ppm install DBD-mysql” and hit enter.

Note: The ActivePerl default package repository contains DBD-mysqlPP module. If you install that one, you will get an error in your SQL SELECT query and especially when you use the WHERE clause. Your localhost will hang if you run this kind of query with the WHERE clause, so to get it work you need to install the package that I mentioned above only.

Step5:
At the top of every file you wish to run (.pl or .cgi), ensure you add this line:
#!c:/wamp/bin/perl/bin/perl

—–
This article is a repeat from: http://www.wampserver.com/phorum/read.php?2,52757,52757, Posted by: venkat437 on August 12, 2009 09:19AM
It was recreated here for archiving…

Posted by & filed under VisualStudio.

While working on a VisualStudio project the need for having an Installer added was required. After searching the web I came across a MSDN article (http://support.microsoft.com/kb/307353) which provided the information required but it was somewhat ambiguous, so I have summarized it below:

  1. When you have your project finished and are ready to add a setup utility, click File > Add > New Project.  (A description of the types of Setup Utilities can be found in the MSDN doc linked above.)
  2. For our implementation, we used “Setup Project” option under Other Project Types > Setup and Deployment to create a .msi install file.  So select your project setup type, enter a name for it at the bottom and click OK.
  3. The new project will be added to your current project.  To add files to this Setup Utility, right-click on the Setup Project, go to Add, then choose either Project Output (if you already have the application projec ready) or choose File to add miscellaneous files.  In this tutorial we are going to continue with the Project Output option.
  4. In the Add Project Output Group select all components (by CTRL+clicking on each) then click OK.  (You may want to select everything except for the Source Files.)
  5. While the Setup Project is selected, you can change the properties of it in the Properties window.  You may want to change the Author, Manufacturer, Product Name and Title.
  6. Now that the setup utility is configured, you want to rebuild your entire solution, but before that we should add this utility to the build.  Click Build > Configuration Manager and then put a check under Build for the Setup Utility record.  Click OK.
  7. At the top of the Solution Explorer, right-click your Solution (that encompasses your projects) and then click Rebuild Solution to build it and create the .msi installer file.
  8. After a successful build, you can now test the install by right-clicking on the Setup Utility project and clicking Install/Uninstall.
  9. The .msi file will be placed under the Setup Project’s data folder in a directory with the same name as the Build Configuration chosen.  ie: if you chose to build the Debug version of your program, the .msi file will be in {Setup Project name} > Debug.

Posted by & filed under News & Updates.

iaps now provides affordable web hosting on our dedicated server located in Canada. When you sign-up with us, you get a plethora of goodies including: cPanel, unlimited sub-domains/email & ftp accounts/databases, super-fast connectivity, 24/7 proactive monitoring and the dedicated support you would expect from iaps! All prices are listed in Canadian funds and we only accept payment by cheque…no messing about with Credit Cards. You may view our hosting packages on our home page: http://www.iaps.ca. If you have any questions, please feel free to contact us.

Posted by & filed under PHP Development.

If you are working on a small project and no one has the time to go in and resize all images to fit a specified area, I have a quick fix for you. This fix only works when the specified area is restricted by either height or width: img {width: 180px; height: *%; }. This will resize the image height to a relative value of the scaled width.

It works both ways:

img {height: 100px; width: *%;}
img {width: 100px; height: *%; }

This has only been tested in FireFox.  It may distort the image a little bit, but not nearly as much as it would if you used defined values for both width and height: img {width: 100px; height: 125px;}

Posted by & filed under PHP Development.

Hey everyone. I’m looking for a solution that will allow mp3s to play from a private directory below the public_html directory. For instance, all my mp3s are in the “/home/user/private/” directory while my web-files reside in “/home/user/public_html/”. The problem with this setup is that the client side needs a client path: “www.iaps.ca/private”, but since the “private” directory is below the “public_html” directory, the client-side cannot see those files.

Programmically, I can get a directory listing using PHP and display all the files and I could create a script that will show a pop-up download box for private files so people can download them, but I cannot play/embed them.

Any sort of solution that would prevent users from downloading files but allow those files to play or be embedded would be great.

If anyone knows of a solution, please let me know!

Thanks in advance.

~iaps

Posted by & filed under News & Updates, Notices & Alerts.

Holiday Hours: Our office will be closed from December 23rd to December 27th. We will re-open for 3 days (28th-30th) and then re-close for December 31st and January 1st. Drive safe, Happy Holidays and New Year!

What’s new in 2010? A lot! We have 3 projects under development with 7 more starting in January/February.  We are also in the planning stages of our small business, non-proprietary CMS solution.  We don’t have much information to release on this project yet, but we expect to release full project specifications by the end of February.

Posted by & filed under News & Updates.

We are in the process of developing the new iaps.Manage application where clients have access to their account details, invoices, critical account information and the ability to monitor on-going projects, new features, issues and project files. We hope to have the NEW iaps.Manage application fully available to clients by mid March 2010.

iaps_logo_fw

iaps.Manage, and all of our new websites, will be created with the NEW iaps.Framework.  This solution makes it easy to add new information to your website, new pages, images, documents and much more.

We also plan to release our iaps.ProjectManagement system to the public in 2010.  This system is currently being built with iaps.FW and implemented into iaps.Manage.  We hope you enjoy the new and improved iaps solutions.

Posted by & filed under News & Updates.

Over the last few months, iaps has laid the foundation for a tremendous amount of potential work. Within these deals, 1 of which included a b2b bartering arrangement, we have managed to procure a new logo (as seen at www.iaps.ca), new development methods and updated many features of our iaps.Framework.  With all the new work coming in, we also had to hire a new programmer for contract work and train this person on our framework.  We are happy to say that this hiring decision turned out great and we are happy to have his valued suggestions and efforts on our team.

We would also like to congradulate ourseleves on the month of October, 2009 as it has been our busiest and highest income-generating month in company history!

Considering we now have a new logo that we are proud to display, we are working on another new website which should be up late November.  You may have also noticed that we decided to invest our time in setting up WordPress as our new news center.  So far it has met, but not yet exceeded, our expectations.  During the development of our new site, we hope our expectations of WordPress will be exceeded!

iaps now offers hosting services on our dedicated server.  For more information you can visit our website (www.iaps.ca).

Posted by & filed under PHP Development.

When using the mysqli_bind_params() function, you may want to consider listing int parameters as strings if the number may be greater than the maximum allowed value for an int.

For Example:

If you specify type “i” (integer), the maximum value it allows you to have is 2^32-1 or 2147483647. So, if you are using UNSIGNED INTEGER or BIGINT in your database, then you are better off using “s” (string) for this.

Here’s a quick summary:

(un)signed TINYINT: i
(un)signed SMALLINT: i
(un)signed MEDIUMINT: i
signed INT: i
unsigned INT: s
(un)signed BIGINT: s

(VAR)CHAR, (TINY/SMALL/MEDIUM/BIG)TEXT/BLOB should all have “s”.

FLOAT/REAL/DOUBLE (PRECISION) should all be “d”.

So when you call your dbUpdate function, the following is correct for the initial 2billion records, but would lead to problems after that:

dbUpdate( $query, array("i", $bigIntValue) );

This is how it should be done:

dbUpdate( $query, array("s", $bigIntValue) );

This advice is for MySQL Databases.