
Autor: David Gutiérrez
Luego de esta guía tendrás tu servidor local instalado en tu máquina con Ubuntu.sudo apt-get install apache2

http://localhost/
sudo apt-get install php5 libapache2-mod-php5
sudo /etc/init.d/apache2 restart
- Ejecutar la siguiente linea en la terminal
sudo gedit /var/www/testphp.php
- Copiar y pegar la siguiente linea y guardar el archivo luego de hacerlo (por favor borren el espacio que esta
<?php phpinfo(); ?>
http://localhost/testphp.php
y se supone obtener un resultado como el siguiente
sudo apt-get install mysql-server
mysql -u root
y luego seguidamente lo siguiente
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('tucontraseña');
(asegurate de cambiar tucontraseña para que sea la contraseña que vas a recordar y utilizar más adelante)
sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
gksudo gedit /etc/php5/apache2/php.ini
y buscamos la siguiente linea
;extension=mysql.so
extension=mysql.so
sudo /etc/init.d/apache2 restart
En este tutorial vas a aprender a instalar y configurar un servidor local en Windows para trabajar en tu máquina en el desarrollo de sitios web dinámicos con Apache, MySQL y PHP y lo vamos a hacer con XAMPP.
El siguiente diálogo que vas a ver es la primera página del XAMPP Setup Wizard.



Y por último inicia el servicio MySQL exactamente igual al paso anterior para el servicio de Apache.
http://localhost/Y allí deberías de ver la siguiente pantalla:


http://linux-web-py.blogspot.com/
GET / HTTP/1.1
Host: linux-web-py.blogspot.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.1) Gecko/20090624 Firefox/3.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: FWE_3bdeca4de23a17d415fab00231961686=0.15327743636597868; _csuid=4a218d4b16d53785; __utma=20HTTP/1.x 200 OK
Content-Type: text/html; charset=UTF-8
Expires: Wed, 08 Jul 2009 04:42:09 GMT
Date: Wed, 08 Jul 2009 04:42:09 GMT
Cache-Control: public, max-age=0, proxy-revalidate, must-revalidate
Last-Modified: Wed, 08 Jul 2009 04:35:21 GMT
Etag: "b4819da2-fb44-4071-8af5-485af12b270a"
Content-Encoding: gzip
X-Content-Type-Options: nosniff
Content-Length: 27730
Age: 0
Server: GFE/2.0

PHP es un lenguaje de scripting muy popular, utilizado en muchos sitios a través de la web. En este artículo, esperamos que le ayude a mejorar el rendimiento de sus scripts PHP con algunos cambios que puede hacer muy rápidamente y sin dolor. Por favor, tenga en cuenta que las ganancias de su propio desempeño puede variar mucho, dependiendo de qué versión de PHP que se esté ejecutando, el eterno de su servidor web, y la complejidad de su código.
En el dictamen de Hoare se afirma que la optimización prematura es la raíz de todo mal, una cosa importante a tener en cuenta cuando se trata de hacer sus sitios web con mayor rapidez. Antes de cambiar el código, tendrá que determinar lo que está causando a ser lento. Usted puede ir a través de esta guía, y muchos otros en la optimización de PHP, cuando la cuestión podría estar relacionada con la base de datos o con la red. Por perfiles de su código PHP, puede intentar identificar los cuellos de botella.
El equipo de desarrolladores de PHP que mantiene el motor ha realizado una serie de importantes mejoras de rendimiento en los últimos años. Si su servidor web todavía se está ejecutando una versión anterior, tales como PHP 3 o PHP 4, puede que desee investigar la actualización antes de intentar optimizar el código.
Haciendo uso de un módulo de almacenamiento en caché, como Memcache, o un sistema de plantillas que soporta el almacenamiento en caché, como Smarty, puede ayudar a mejorar el rendimiento de su sitio web cacheando los resultados de la base de datos y páginas renderizadas.
PHP utiliza un buffer de memoria para almacenar todos los datos que el script intenta imprimir. Este búfer puede hacer sus páginas parecen lentos, ya que sus usuarios tienen que esperar a que el buffer se llene antes que envíe los datos. Afortunadamente, usted puede hacer algunos cambios que fuerza al PHP a vaciar los buffers antes de la salida, y más a menudo, hacer sentir su sitio más rápido para sus usuarios.
A veces novatos en PHP intentan hacer su código "limpio" copiando variables predefinidas a variables con nombres más cortos en vez de trabajar con ellos. Esto realmente se traduce en duplicación en el consumo de memoria, y por lo tanto, la lentitud de los scripts. En el siguiente ejemplo, imaginen que un usuario malintencionado ha insertado un valor de 512KB de caracteres en un campo de texto. Esto daría como resultado 1 MB de memoria que se utiliza!
$description = strip_tags($_POST['description']);
echo $description;
No hay razón para copiar la variable anterior. Usted puede simplemente llevar a cabo esta operación en línea y evitar el consumo de memoria adicional:
echo strip_tags($_POST['description']);
Un error común es colocar una consulta SQL dentro de un bucle. Esto se traduce en múltiples viajes de ida y vuelta a la base de datos, scripts y mucho más lento. En el siguiente ejemplo, puede cambiar el bucle para crear una sola consulta SQL e insertar todos sus usuarios a la vez.
foreach ($userList as $user) {
$query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
mysql_query($query);
}
Produce:
INSERT INTO users (first_name,last_name) VALUES("John", "Doe");
En lugar de usar un bucle, puede combinar los datos en una única base de datos de consulta.
$userData = [];Produces:
foreach ($userList as $user) {
$userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
}
$query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $iserData);
mysql_query($query);INSERT INTO users (first_name,last_name) VALUES("John", "Doe"),("Jane", "Doe")...
El motor de PHP permite tanto solo comillas dobles y variable de cadena para la encapsulación, pero hay diferencias! El uso de comillas dobles para cadenas dice al motor de PHP que lea la cadena de contenidos y buscque las variables, y sustituirlas con sus valores. En cadenas largas que no contienen variables, pueden resultar en un rendimiento inferior.
$output = "This is the content for a very long article
which is a few hundred lines long
and goes on and on and on
... ...The End";
Cambio de las comillas dobles para una sola cita impide que el motor de PHP a partir de analizar esta cadena en un intento de ampliar las variables que, en este ejemplo, no existen:
$output = 'This is the content for a very long article
which is a few hundred lines long
and goes on and on and on
... ...The End';
Utilizando declaraciones switch/case en lugar de declaraciones sueltas escrito if/else cuando se realiza la prueba en contra de una sola variable se traduce en un mejor rendimiento, facilidad de lectura, y facilidad de mantenimiento. Es importante señalar que el uso de switch/case hace una comparación suelta y debe tenerse en cuenta cuando se esté usando.
if($_POST['action'] == 'add') {
addUser();
} elseif ($_POST['action'] == 'delete') {
deleteUser();
} elseif ($_POST['action'] == 'edit') {
editUser();
} else {
defaultAction();
}
En lugar de ello, puede usar switch / case para poner a prueba contra el valor de $_POST['action']
switch($_POST['action']) {
case 'add':
addUser();
break;
case 'delete':
deleteUser();
break;
case 'edit':
editUser();
break;
default:
defaultAction();
break;
}
