Friday, January 28, 2011

how to configure Phpmyadmin and use mysql on terminal in UBUNTU/LINUX

To configure phpmyadmin, use synaptic Package manager.

To run mysql on terminal, simply go to terminal and write command as below:

aanand@aanand-desktop:~$ mysql --user=root --password=root
Here, you can user the user and password as you have supplied during installation.

Now, you will see messages as below:


Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 26
Server version: 5.0.51a-3ubuntu5.7 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Your system is ready to run mysql commands and execute queries.
To test, you can write commands like
mysql>show databases;
mysql>use test;
mysql>show tables;
To get the help, use help command as below:
mysql>\h;
mysql>\help;

Sunday, January 16, 2011

The best way to handle date and time in PHP and MySQL

Usually we use date() function with their different formats. When we have to store the date in table, we convert the date in yyyy-mm-dd format if data-type of column is Date or yyyy-mm-dd HH:mm:ss format if data-type of column is datetime . In the same way, before use of these values, after fetching, need to convert these according to our required format. But, doing all the above process, we have to use explode() and list() function many times. But, using strtotime() is the best way to handle date in different formats.
strtotime() is a function that converts a date which is in string format into unix timestamp. Please select the data-type as timestamp instead date or datetime when define table structure.
At the time of saving, we have to just pass the date value which is in string format as argument of strtotime() function and get  the timestamp as output of this function. Now, we can save this timestamp in the table.
At the time of using this value, after fetching pass this timestamp value in the date() function as second parameter. Format will be as below:
<?php 
//Before saving the value in table,
$timestamp_field_value=strtotime('2010-12-23 12:55:32');
//After fetching the value from table,
echo date('Y-m-d',$timestamp_field_value);
?>

Sunday, January 9, 2011

How do we upload large files on server using PHP

Though PHP presents a very versatile and user friendly interface for handling file uploads, the default installation is not geared for working with files in excess of 2 Mega Bytes. This article is an aid to configuring PHP for handling such large file transfers.
Windows Apache Web Server Configuration: Installation Guide for Apache 2.0.x Web Server - WAMP
The php.ini file contains all the configuration settings for your installation. Sometimes these setting might be overridden by directives in apache .htaccess files or even with in the scripts themselves but for the moment let's just concentrate on the ini file.
This file contains the following settings that we need to modify
  • file_uploads [ default is on]
  • upload_max_filesize [default is 2mb, 4 times more than size of file to be uploaded]
  • max_input_time [default is 60, increase it to 300]
  • memory_limit [default is 128M, increase it to 256M]
  • max_execution_time [default is 30, increase it to  500]
  • post_max_size [default is 8MB, it should be greater than upload_max_filesize]
The first one is fairly obvious if you set this off, uploading is disabled for your installation. We will cover the rest of the configuration settings in detail below.
upload_max_filesize and post_max_size
Files are usually POSTed to the webserver in a format known as 'multipart/form-data'. The post_max_size sets the upper limit on the amount of data that a script can accept in this manner. Ideally this value should be larger than the value that you set for upload_max_filesize.
It's important to realize that upload_max_filesize is the sum of the sizes of all the files that you are uploading. post_max_size is the upload_max_filesize plus the sum of the lengths of all the other fields in the form plus any mime headers that the encoder might include. Since these fields are typically small you can often approximate the upload max size to the post max size.
According to the PHP documentation you can set a MAX_UPLOAD_LIMIT in your HTML form to suggest a limit to the browser. Our understanding is that browsers totally ignore this directive and the only solution that can impose such a client side restriction is Rad Upload Applet
memory_limit
When the PHP engine is handling an incoming POST it needs to keep some of the incoming data in memory. This directive has any effect only if you have used the --enable-memory-limit option at configuration time. Setting too high a value can be very dangerous because if several uploads are being handled concurrently all available memory will be used up and other unrelated scripts that consume a lot of memory might effect the whole server as well.
max_execution_time and max_input_time
These settings define the maximum life time of the script and the time that the script should spend in accepting input. If several mega bytes of data are being transfered max_input_time should be reasonably high. You can override the setting in the ini file for max_input_time by calling the set_time_limit() function in your scripts.
Special Notes:
Apache Settings
The apache webserver has a LimitRequestBody configuration directive that restricts the size of all POST data regardless of the web scripting language in use. Some RPM installations sets limit request body to 512Kb. You will need to change this to a larger value or remove the entry altogether.
Other Options
If you expect to handle a large number of concurrent file transfers on your website consider using a perl or java server side component. PHP happens to be our favorite web programming language as well but perl is just slightly ahead when it comes to file handling.
Most installations of perl as an apache module can accept up to 32 megabytes out of the box. Compare this against the 2MB default for PHP. The downside is that perl coding takes just a bit more effort than PHP but it's worth it.
Installing & Configuring Web Servers Using Apache

Sunday, January 2, 2011

How to configure PHP on IIS server


  1. Install IIS (Required Windows CD to install IIS server).
  2. Go to Control Panel > add/Remove programs windows components > select IIS
  3. Go to Start > control panel > performance & maintenance > Internet Information Services > websites > default websites ---right click--->Select stop
  4. Download PHP from PHP website
  5. Extract the downloaded zip folder (for example php5)and then  see the directory structure.
  6. Copy php5\dev\php5ts.dll  to C:\windows\system32\
  7. Copy php5\php.int-dist to c:\windows\ and rename it as php.ini
  8. Copy all files from php5\ext\ to c:\windows\sysem32\ or change the path variable to php5\ext\
  9. Open the file php.ini from c:\windows\ and make  changes like  extension-dir=c:\php5\ext
  10. Remove the semicolon which is prefixed from the line extensions=php_gd2.dll
  11. As point 9, we can enable the extensions as per our requirements. Above extensions will enable GD library.
  12. Save the modified php.ini file and close it.
  13. Go to Start > control Panel > performance & maintenance > administrative tool  > IIS > website > Default website ---right click---> properties ---click--->SAPI filter tab ---click--->Add button ----create a new filter [filter name PHP] [Extension: c:\php5\php5isabpi.dll] > OK
  14. Home directory tab > configuration button ---click on add button > Executable ---click on Browse button to select the file (c:\php5\php5isapi.dll)
  15. Provide .php as extension > ok >ok
  16. Go to Start > control Panel > performance & maintenance > administrative tool  > IIS > website > default website ---right click--->start
Beginning PHP 5.3 (Wrox Programmer to Programmer)

Q. What is Path environment variable?
A: A path environment variable contains a list of directories paths in which windows will look for things. To set the path variable,
Go to start > control panel > system > advanced > environment variables
Add your new path and click on save

    Important queries based formulas to watch performance of a MySQL based application

    (1) Session Vs global status variables value select G.variable_name,G.variable_value GlobalValue,S.variable_value SessionValue from (selec...