A functional PHP script returns the following error either on the web page
or in Apache error log file when it exchausted and used up the default memory requirement of 8 MB memory allocation:
PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate … bytes) in …
The error normally occurs when PHP tries to process a big database records or when importing or exporting. To solve the error, there are two resolutions. One is to change and increase the memory limit of the particular PHP script by adding or including an additional line at the top of the script:
ini_set(“memory_limit”,”16M”);
You can assign the memory limit to any amount you like by changing the 16M to other number, such as 12M or 24M. 16M will set the memory limit to 16 megabytes. If this doesn’t work and the PHP error still appearing, increase the memory limit until the PHP scripts running perfectly or the limit of your system
hardware.
To change the memory allocation limit permanently for all PHP scripts running on the server
, modify the PHP.INI configuration file of the server (location depending on your OS and installation method). Search for memory_limit after opening the file in an editor. If the memory_limit doesn’t exist, add the following line. If it’s there, modify the value of the memory_limit:
memory_limit = 12M
The 12M sets the limit to 12 megabytes (12582912 bytes). Change to the value you desirable.
An alternative way is to modify your PHP scripts that generate the error for more efficiency and better data handling.
Friday, July 30, 2010
Friday, July 9, 2010
MYSQL Statements and clauses and PHP and Perl API Function
MYSQL Statements and clauses
ALTER DATABASEString Functions
ALTER TABLE
ALTER VIEW
ANALYZE TABLE
BACKUP TABLE
CACHE INDEX
CHANGE MASTER TO
CHECK TABLE
CHECKSUM TABLE
COMMIT
CREATE DATABASE
CREATE INDEX
CREATE TABLE
CREATE VIEW
DELETE
DESCRIBE
DO
DROP DATABASE
DROP INDEX
DROP TABLE
DROP USER
DROP VIEW
EXPLAIN
FLUSH
GRANT
HANDLER
INSERT
JOIN
KILL
LOAD DATA FROM MASTER
LOAD DATA INFILE
LOAD INDEX INTO CACHE
LOAD TABLE...FROM MASTER
LOCK TABLES
OPTIMIZE TABLE
PURGE MASTER LOGS
RENAME TABLE
REPAIR TABLE
REPLACE
RESET
RESET MASTER
RESET SLAVE
RESTORE TABLE
REVOKE
ROLLBACK
ROLLBACK TO SAVEPOINT
SAVEPOINT
SELECT
SET
SET PASSWORD
SET SQL_LOG_BIN
SET TRANSACTION
SHOW BINLOG EVENTS
SHOW CHARACTER SET
SHOW COLLATION
SHOW COLUMNS
SHOW CREATE DATABASE
SHOW CREATE TABLE
SHOW CREATE VIEW
SHOW DATABASES
SHOW ENGINES
SHOW ERRORS
SHOW GRANTS
SHOW INDEX
SHOW INNODB STATUS
SHOW LOGS
SHOW MASTER LOGS
SHOW MASTER STATUS
SHOW PRIVILEGES
SHOW PROCESSLIST
SHOW SLAVE HOSTS
SHOW SLAVE STATUS
SHOW STATUS
SHOW TABLE STATUS
SHOW TABLES
SHOW VARIABLES
SHOW WARNINGS
START SLAVE
START TRANSACTION
STOP SLAVE
TRUNCATE TABLE
UNION
UNLOCK TABLES
USE
AES_DECRYPTDate and Time Functions
AES_ENCRYPT
ASCII
BIN
BINARY
BIT_LENGTH
CHAR
CHAR_LENGTH
CHARACTER_LENGTH
COMPRESS
CONCAT
CONCAT_WS
CONV
DECODE
DES_DECRYPT
DES_ENCRYPT
ELT
ENCODE
ENCRYPT
EXPORT_SET
FIELD
FIND_IN_SET
HEX
INET_ATON
INET_NTOA
INSERT
INSTR
LCASE
LEFT
LENGTH
LOAD_FILE
LOCATE
LOWER
LPAD
LTRIM
MAKE_SET
MATCH AGAINST
MD5
MID
OCT
OCTET_LENGTH
OLD_PASSWORD
ORD
PASSWORD
POSITION
QUOTE
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SHA
SHA1
SOUNDEX
SPACE
STRCMP
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UNCOMPRESS
UNCOMPRESSED_LENGTH
UNHEX
UPPER
ADDDATEMathematical and Aggregate Functions
ADDTIME
CONVERT_TZ
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATE_ADD
DATE_FORMAT
DATE_SUB
DATEDIFF
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
FROM_UNIXTIME
GET_FORMAT
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SEC_TO_TIME
SECOND
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIMEDIFF
TIMESTAMP
TIMESTAMPDIFF
TIMESTAMPADD
TIME_FORMAT
TIME_TO_SEC
TO_DAYS
UNIX_TIMESTAMP
UTC_DATE
UTC_TIME
UTC_TIMESTAMP
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK
ABSFlow Control Functions
ACOS
ASIN
ATAN
ATAN2
AVG
BIT_AND
BIT_OR
BIT_XOR
CEIL
CEILING
COS
COT
COUNT
CRC32
DEGREES
EXP
FLOOR
FORMAT
GREATEST
GROUP_CONCAT
LEAST
LN
LOG
LOG2
LOG10
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
STD
STDDEV
SUM
TAN
TRUNCATE
VARIANCE
CASECommand-Line Utilities
IF
IFNULL
NULLIF
comp_errPerl API - using functions and methods built into the Perl DBI with MySQL
isamchk
make_binary_distribution
msql2mysql
my_print_defaults
myisamchk
myisamlog
myisampack
mysqlaccess
mysqladmin
mysqlbinlog
mysqlbug
mysqlcheck
mysqldump
mysqldumpslow
mysqlhotcopy
mysqlimport
mysqlshow
perror
available_driversPHP API - using functions built into PHP with MySQL
begin_work
bind_col
bind_columns
bind_param
bind_param_array
bind_param_inout
can
clone
column_info
commit
connect
connect_cached
data_sources
disconnect
do
dump_results
err
errstr
execute
execute_array
execute_for_fetch
fetch
fetchall_arrayref
fetchall_hashref
fetchrow_array
fetchrow_arrayref
fetchrow_hashref
finish
foreign_key_info
func
get_info
installed_versions
last_insert_id
looks_like_number
neat
neat_list
parse_dsn
parse_trace_flag
parse_trace_flags
ping
prepare
prepare_cached
primary_key
primary_key_info
quote
quote_identifier
rollback
rows
selectall_arrayref
selectall_hashref
selectcol_arrayref
selectrow_array
selectrow_arrayref
selectrow_hashref
set_err
state
table_info
table_info_all
tables
trace
trace_msg
type_info
type_info_all
Attributes for Handles
mysql_affected_rows
mysql_change_user
mysql_client_encoding
mysql_close
mysql_connect
mysql_create_db
mysql_data_seek
mysql_db_name
mysql_db_query
mysql_drop_db
mysql_errno
mysql_error
mysql_escape_string
mysql_fetch_array
mysql_fetch_assoc
mysql_fetch_field
mysql_fetch_lengths
mysql_fetch_object
mysql_fetch_row
mysql_field_flags
mysql_field_len
mysql_field_name
mysql_field_seek
mysql_field_table
mysql_field_type
mysql_free_result
mysql_get_client_info
mysql_get_host_info
mysql_get_proto_info
mysql_get_server_info
mysql_info
mysql_insert_id
mysql_list_dbs
mysql_list_fields
mysql_list_processes
mysql_list_tables
mysql_num_fields
mysql_num_rows
mysql_pconnect
mysql_ping
mysql_query
mysql_real_escape_string
mysql_result
mysql_select_db
mysql_stat
mysql_tablename
mysql_thread_id
mysql_unbuffered_query
Tuesday, July 6, 2010
Random Password Generation in PHP
PHP
// just so we know it is brokenerror_reporting(E_ALL);
/*
*
* string passType can be alpha, numeric, or alphanumeric defaults to alphanumeric
* int $length is the length of the password, defaults to eight
*
*/class randomPassword{
function __construct($passType='alphanumeric', $length=8, $rangeLength=9){
$this->setLength($length);
$this->setRangeLength($rangeLength);
$this->passType = $this->setPassType($passType);
}
function setRangeLength($rangeLength){
$this->rangeLength=$rangeLength;
}
// set the length of the passwordprivate function setLength($length){
$this->length=$length;
}
// set the type of passwordprivate function setPassType($passType){
return $passType.'Chars';
}
// return an array of numbersprivate function numericChars(){
return range(0, $this->rangeLength);
}
// return an array of charsprivate function alphaChars(){
return range('a', 'z');
}
// return an array of alphanumeric charsprivate function alphaNumericChars(){
return array_merge($this->numericChars(), $this->alphaChars());
}
// return a string of charsprivate function makeString(){
// here we set the function to call based on the password type
$funcName = $this->passType;
return implode($this->$funcName());
}
// shuffle the chars and return $length of charspublic function makePassword(){
return substr(str_shuffle($this->makeString()), 1, $this->length);
}
} // end class
function randomPassword($length) {
// create an array of chars to use as password
$chars = implode(array_merge(range(0,9), range('a', 'z')));
// randomly snarf $length number of array keys
return substr(str_shuffle($chars), 1, $length);
}
echo randomPassword(8).'
';
try
{
$obj = new randomPassword('alphanumeric', 16, 100);
echo $obj->makePassword().'
';
}
catch(Exception $ex)
{
echo $ex->getMessage();
}
?>
// just so we know it is brokenerror_reporting(E_ALL);
/*
*
* string passType can be alpha, numeric, or alphanumeric defaults to alphanumeric
* int $length is the length of the password, defaults to eight
*
*/class randomPassword{
function __construct($passType='alphanumeric', $length=8, $rangeLength=9){
$this->setLength($length);
$this->setRangeLength($rangeLength);
$this->passType = $this->setPassType($passType);
}
function setRangeLength($rangeLength){
$this->rangeLength=$rangeLength;
}
// set the length of the passwordprivate function setLength($length){
$this->length=$length;
}
// set the type of passwordprivate function setPassType($passType){
return $passType.'Chars';
}
// return an array of numbersprivate function numericChars(){
return range(0, $this->rangeLength);
}
// return an array of charsprivate function alphaChars(){
return range('a', 'z');
}
// return an array of alphanumeric charsprivate function alphaNumericChars(){
return array_merge($this->numericChars(), $this->alphaChars());
}
// return a string of charsprivate function makeString(){
// here we set the function to call based on the password type
$funcName = $this->passType;
return implode($this->$funcName());
}
// shuffle the chars and return $length of charspublic function makePassword(){
return substr(str_shuffle($this->makeString()), 1, $this->length);
}
} // end class
function randomPassword($length) {
// create an array of chars to use as password
$chars = implode(array_merge(range(0,9), range('a', 'z')));
// randomly snarf $length number of array keys
return substr(str_shuffle($chars), 1, $length);
}
echo randomPassword(8).'
';
try
{
$obj = new randomPassword('alphanumeric', 16, 100);
echo $obj->makePassword().'
';
}
catch(Exception $ex)
{
echo $ex->getMessage();
}
?>
GeoIP Functions
Introduction
The GeoIP extension allows you to find the location of an IP address. City, State, Country, Longitude, Latitude, and other information as all, such as ISP and connection type can be obtained with the help of GeoIP.
Requirements
This extension requires the GeoIP C library version 1.4.0 or higher to be installed. You can grab the latest version from http://www.maxmind.com/app/c and compile it yourself.
By default, you will only have access to the Free GeoIP Country or GeoLite City databases. While this module can work with other types of database, you must buy a commercial license from Maxmind.
Installation
This PECL extension is not bundled with PHP.
Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions. Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: http://pecl.php.net/package/geoip.
Resource Types
This extension has no resource types defined.
Predefined Constants
The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.
The following constants are for net speed:
Methods
Subscribe to:
Posts (Atom)