Web Entwicklung: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(php)
(php4 nogoes in php5)
Zeile 36: Zeile 36:
 
$this->fields.="`".$val['key']."`";
 
$this->fields.="`".$val['key']."`";
 
$this->values.="".$val['value']."";
 
$this->values.="".$val['value']."";
 +
</source>
 +
 +
==== SESSIONS ====
 +
in php5 wurden folgende Funktionen entfernt
 +
* session_is_registered
 +
* session_register
 +
 +
<source lang="php">
 +
function session_is_registered($x){
 +
    if (isset($_SESSION['$x']))
 +
        return true;
 +
    else
 +
        return false;
 +
}
 +
</source>
 +
 +
==== globale Variablen aus _POST, _GET, _FILES, _SESSIONS ====
 +
* in php4 waren globale Variablen aus _POST, _GET, _FILES, _SESSIONS nicht im jeweiligen Array gekapselt
 +
 +
aus
 +
<source lang="php">
 +
$var_post
 +
$var_get
 +
$var_file
 +
$var_sessions
 +
</source>
 +
wird
 +
<source lang="php">
 +
$_POST['var_post']
 +
$_GET['var_get']
 +
$_FILES['var_file']
 +
$_SESSIONS['var_sessions']
 +
 
</source>
 
</source>
  

Version vom 14. Juli 2014, 17:14 Uhr

svg

apache

Installation

apt-get install mysql-server mysql-client apache2 php5 php5-mysql libapache2-mod-php5 phpmyadmin
/usr/bin/mysqladmin -u root password 'enter-your-good-new-password-here'
/etc/init.d/apache2 restart

Konfiguration für die Entwicklung

/etc/php5/apache2/php.ini

error_reporting = E_ALL & ~E_DEPRECATED
display_errors = On


php

php4 nogoes in php5

fehlende Hochkommatas in Arrays

  • php4
if ($quote) 
	$val[value]="'".addslashes($val[value])."'";
$this->fields.="`$val[key]`";
$this->values.="$val[value]";
  • php5
if ($quote) 
	$val['value']="'".addslashes($val['value'])."'";
$this->fields.="`".$val['key']."`";
$this->values.="".$val['value']."";

SESSIONS

in php5 wurden folgende Funktionen entfernt

  • session_is_registered
  • session_register
function session_is_registered($x){
    if (isset($_SESSION['$x']))
        return true;
    else
        return false;
}

globale Variablen aus _POST, _GET, _FILES, _SESSIONS

  • in php4 waren globale Variablen aus _POST, _GET, _FILES, _SESSIONS nicht im jeweiligen Array gekapselt

aus

$var_post
$var_get
$var_file
$var_sessions

wird

$_POST['var_post']
$_GET['var_get']
$_FILES['var_file']
$_SESSIONS['var_sessions']

pear

apt-get install php5-dev make php-pear

cairo

Installation

pecl install cairo
pecl install cairo channel://pecl.php.net/cairo-0.3.2
echo "extension=cairo.so" >>  /etc/php5/apache2/php.ini
/etc/init.d/apache2 restart

Beispiel

$s = new CairoImageSurface(CairoFormat::ARGB32, 400, 400);
$c = new CairoContext($s);
$c->fill();
$c->setSourceRGB(1, 0, 0);
$c->setLineWidth(50);
$c->arc(200, 200, 100, 0, 2 * M_PI);
$c->stroke();
$c->setSourceRGB(0, 0, 0.6);
$c->rectangle(0, 160, 400, 75);
$c->fill();
 
$s->writeToPng(dirname(__FILE__)  . '/test.png');

Probleme

falls das php nicht interpretiert wird, sondern stumpf ausgegeben wird

/etc/php5/apache2/php.ini da nicht "<?php" verwendet wird, muss der short_open_tag aktiviert werden!!!!

short_open_tag = On

mysql

Datenbank&Benutzer anlegen

mysql -u root -p
create database DATABASE;
create user 'USERNAME'@'localhost' identified by 'PASSWORD';
grant all on DATABASE.* to 'USERNAME'@'localhost';

export import

# export
mysqldump --single-transaction --default-character-set=utf8 -u _username_ -p _databasename_ > mysql.yyyymmdd.sql
# import
mysql -u _username_ -p _databasename_ < mysql.yyyymmdd.sql