Browse Source

Merge pull request #2139 from knewmanTE/upgrade-phalcon

Upgrade some frameworks to PHP 7
Nate 9 years ago
parent
commit
99ee34dc1d

+ 12 - 7
frameworks/PHP/kohana/application/classes/Controller/Bench.php

@@ -10,11 +10,20 @@ Class Controller_Bench extends Controller
     }
 
     public function action_db()
+    {
+        $query = DB::query(Database::SELECT, 'SELECT * FROM World WHERE id = :id')->bind(':id', $id);
+
+        $world = $query->param(':id', mt_rand(1, 10000))->execute()->current();
+
+        $this->response
+            ->headers(array('Content-Type' => 'application/json'))
+            ->body(json_encode($world));
+    }
+
+    public function action_queries()
     {
         $queries = $this->request->param('queries', false);
-        $queries = $queries
-                    ? $queries
-                    : 1;
+        $queries = is_numeric($queries) ? min(max($queries, 1), 500) : 1;
 
         $worlds = array();
 
@@ -24,10 +33,6 @@ Class Controller_Bench extends Controller
             $worlds[] = $query->param(':id', mt_rand(1, 10000))->execute()->current();
         }
 
-        if ($queries == 1) {
-            $worlds = $worlds[0];
-        }
-
         $this->response
             ->headers(array('Content-Type' => 'application/json'))
             ->body(json_encode($worlds));

+ 7 - 7
frameworks/PHP/kohana/benchmark_config.json

@@ -9,35 +9,35 @@
       "classification": "Fullstack",
       "database": "None",
       "framework": "kohana",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Raw",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "kohana",
       "notes": "",
-      "versus": "php5"
+      "versus": "php7"
     },
     "raw": {
       "setup_file": "setup",
       "db_url": "/bench/db",
-      "query_url": "/bench/db/",
+      "query_url": "/bench/queries/",
       "fortune_url": "/bench/fortunes",
       "port": 8080,
       "approach": "Realistic",
       "classification": "Fullstack",
       "database": "MySQL",
       "framework": "kohana",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Raw",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "kohana",
       "notes": "",
-      "versus": "php5"
+      "versus": "php7"
     }
   }]
 }

+ 1 - 1
frameworks/PHP/kohana/setup.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends php5 nginx composer
+fw_depends php7 nginx composer
 
 sed -i 's|localhost|'"${DBHOST}"'|g' application/config/database.php
 sed -i 's|root .*/FrameworkBenchmarks/php-kohana|root '"${TROOT}"'|g' deploy/nginx.conf

+ 3 - 3
frameworks/PHP/limonade/benchmark_config.json

@@ -14,14 +14,14 @@
       "classification": "Micro",
       "database": "MySQL",
       "framework": "Limonade",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Full",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "Limonade",
-      "versus": "php5"
+      "versus": "php7"
     }
   }]
 }

+ 1 - 1
frameworks/PHP/limonade/setup.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends php5 nginx composer
+fw_depends php7 nginx composer
 
 sed -i 's|localhost|'"${DBHOST}"'|g' index.php
 sed -i 's|root .*/FrameworkBenchmarks/limonade|root '"${TROOT}"'|g' deploy/nginx.conf

+ 4 - 4
frameworks/PHP/phalcon-micro/benchmark_config.json

@@ -5,22 +5,22 @@
       "setup_file": "setup",
       "json_url": "/json",
       "db_url": "/db",
-      "query_url": "/db?queries=",
+      "query_url": "/queries?queries=",
       "fortune_url": "/fortunes",
       "port": 8080,
       "approach": "Realistic",
       "classification": "Micro",
       "database": "MySQL",
       "framework": "phalcon",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Full",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "phalcon",
       "notes": "",
-      "versus": "php5"
+      "versus": "php7"
     }
   }]
 }

+ 14 - 4
frameworks/PHP/phalcon-micro/public/index.php

@@ -47,10 +47,24 @@ try {
 
     //
     $app->map('/db', function() use ($app) {
+        header("Content-Type: application/json");
+
+        $db = $app['db'];
+        
+        $world = $db->fetchOne('SELECT * FROM world WHERE id = ' . mt_rand(1, 10000), Phalcon\Db::FETCH_ASSOC);
+
+        echo json_encode($world);
+    });
+
+
+    // queries
+    $app->map('/queries', function() use ($app) {
+        header("Content-Type: application/json");
 
         $db = $app['db'];
 
         $queries = $app->request->getQuery('queries', null, 1);
+        $queries = is_numeric($queries) ? min(max(intval($queries), 1), 500) : 1;
 
         $worlds = array();
 
@@ -58,10 +72,6 @@ try {
             $worlds[] = $db->fetchOne('SELECT * FROM world WHERE id = ' . mt_rand(1, 10000), Phalcon\Db::FETCH_ASSOC);
         }
 
-        if ($queries == 1) {
-            $worlds = $worlds[0];
-        }
-
         echo json_encode($worlds);
     });
 

+ 1 - 1
frameworks/PHP/phalcon-micro/setup.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends php5 phalcon nginx
+fw_depends php7 phalcon nginx
 
 sed -i 's|localhost|'"${DBHOST}"'|g' public/index.php
 sed -i 's|root .*/FrameworkBenchmarks/php-phalcon-micro|root '"${TROOT}"'|g' deploy/nginx.conf

+ 1 - 1
frameworks/PHP/phalcon/app/controllers/BenchController.php

@@ -71,7 +71,7 @@ class BenchController extends \Phalcon\Mvc\Controller
     {
         $this->view->disable();
         $this->response->setStatusCode(200, "OK");
-        $this->response->setContentType('text/plain', 'UTF-8');
+        $this->response->setContentType('text/plain');
         $this->response->setContent("Hello, World!");
         $this->response->send();
     }

+ 7 - 6
frameworks/PHP/phalcon/benchmark_config.json

@@ -3,6 +3,7 @@
   "tests": [{
     "default": {
       "setup_file": "setup",
+      "plaintext_url": "/plaintext",
       "json_url": "/json",
       "db_url": "/db",
       "query_url": "/queries?queries=",
@@ -13,15 +14,15 @@
       "classification": "Fullstack",
       "database": "MySQL",
       "framework": "phalcon",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Full",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "phalcon",
       "notes": "",
-      "versus": "php5"
+      "versus": "php7"
     },
     "mongodb": {
       "setup_file": "setup",
@@ -33,15 +34,15 @@
       "classification": "Fullstack",
       "database": "MongoDB",
       "framework": "phalcon",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Full",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "phalcon",
       "notes": "",
-      "versus": "php5"
+      "versus": "php7"
     }
   }]
 }

+ 1 - 1
frameworks/PHP/phalcon/setup.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends php5 phalcon nginx
+fw_depends php7 phalcon nginx
 
 sed -i 's|mongodb://localhost|mongodb://'"${DBHOST}"'|g' app/config/config.php
 sed -i 's|localhost|'"${DBHOST}"'|g' app/config/config.php

+ 3 - 3
frameworks/PHP/phpixie/benchmark_config.json

@@ -14,15 +14,15 @@
       "classification": "Fullstack",
       "database": "MySQL",
       "framework": "phpixie",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Full",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "phpixie",
       "notes": "",
-      "versus": "php5"
+      "versus": "php7"
     }
   }]
 }

+ 1 - 1
frameworks/PHP/phpixie/setup.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends php5 nginx composer
+fw_depends php7 nginx composer
 
 sed -i 's|localhost|'"${DBHOST}"'|g' assets/config/db.php
 sed -i 's|".*/FrameworkBenchmarks/php-phpixie|"'"${TROOT}"'|g' deploy/php-phpixie

+ 4 - 4
frameworks/PHP/silex-orm/benchmark_config.json

@@ -5,21 +5,21 @@
       "setup_file": "setup",
       "json_url": "/json",
       "db_url": "/db",
-      "query_url": "/db?queries=",
+      "query_url": "/queries?queries=",
       "port": 8080,
       "approach": "Realistic",
       "classification": "Micro",
       "database": "MySQL",
       "framework": "silex",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Full",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "silex",
       "notes": "",
-      "versus": "php5"
+      "versus": "php7"
     }
   }]
 }

+ 1 - 1
frameworks/PHP/silex-orm/setup.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends php5 nginx composer
+fw_depends php7 nginx composer
 
 sed -i 's|127.0.0.1|'"${DBHOST}"'|g' web/index.php
 sed -i 's|".*/FrameworkBenchmarks/php-silex-orm|"'"${TROOT}"'|g' deploy/php-silex-orm

+ 9 - 4
frameworks/PHP/silex-orm/web/index.php

@@ -43,7 +43,16 @@ $app->get('/json', function() {
 });
 
 $app->get('/db', function(Request $request) use ($app) {
+    $repo = $app['orm.em']->getRepository('Entity\World');
+
+    $worlds =  $repo->find(mt_rand(1, 10000));
+
+    return new JsonResponse($worlds);
+});
+
+$app->get('/queries', function(Request $request) use ($app) {
     $queries = $request->query->getInt('queries', 1);
+    $queries = is_numeric($queries) ? min(max($queries, 1), 500) : 1;
     // possibility for micro enhancement could be the use of SplFixedArray -> http://php.net/manual/de/class.splfixedarray.php
     $worlds = array();
     $repo = $app['orm.em']->getRepository('Entity\World');
@@ -52,10 +61,6 @@ $app->get('/db', function(Request $request) use ($app) {
         $worlds[] =  $repo->find(mt_rand(1, 10000));
     }
 
-    if ($queries == 1) {
-        $worlds = $worlds[0];
-    }
-
     return new JsonResponse($worlds);
 });
 

+ 6 - 6
frameworks/PHP/silex/benchmark_config.json

@@ -11,15 +11,15 @@
       "classification": "Micro",
       "database": "MySQL",
       "framework": "silex",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Raw",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "silex",
       "notes": "",
-      "versus": "php5"
+      "versus": "php7"
     },
     "raw": {
       "setup_file": "setup_raw",
@@ -34,15 +34,15 @@
       "classification": "Micro",
       "database": "MySQL",
       "framework": "silex",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Raw",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "silex",
       "notes": "",
-      "versus": "php5"
+      "versus": "php7"
     }
   }]
 }

+ 1 - 1
frameworks/PHP/silex/setup.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends php5 nginx composer
+fw_depends php7 nginx composer
 
 sed -i 's|localhost|'"${DBHOST}"'|g' web/index.php
 sed -i 's|".*\FrameworkBenchmarks/php-silex|"'"${TROOT}"'|g' deploy/php-silex

+ 1 - 1
frameworks/PHP/silex/setup_raw.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends php5 nginx composer
+fw_depends php7 nginx composer
 
 sed -i 's|localhost|'"${DBHOST}"'|g' web/index_raw.php
 sed -i 's|".*\FrameworkBenchmarks/php-silex|"'"${TROOT}"'|g' deploy/php-silex

+ 3 - 3
frameworks/PHP/zend/benchmark_config.json

@@ -11,15 +11,15 @@
       "classification": "Fullstack",
       "database": "MySQL",
       "framework": "Zend",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Full",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "zend",
       "notes": "",
-      "versus": "php5"
+      "versus": "php7"
     }
   }]
 }

+ 1 - 1
frameworks/PHP/zend/setup.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends php5 nginx composer
+fw_depends php7 nginx composer
 
 sed -i 's|host=localhost|host='"${DBHOST}"'|g' config/autoload/benchmarks.local.php
 sed -i 's|root .*/FrameworkBenchmarks/php-zend-framework|root '"${TROOT}"'|g' deploy/nginx.conf

+ 3 - 3
frameworks/PHP/zend1/benchmark_config.json

@@ -11,15 +11,15 @@
       "classification": "Fullstack",
       "database": "MySQL",
       "framework": "ZendFramework1",
-      "language": "PHP5",
+      "language": "PHP7",
       "orm": "Full",
-      "platform": "PHP5-FPM",
+      "platform": "PHP7-FPM",
       "webserver": "nginx",
       "os": "Linux",
       "database_os": "Linux",
       "display_name": "ZendFramework1",
       "notes": "",
-      "versus": "php5"
+      "versus": "php7"
     }
   }]
 }

+ 1 - 1
frameworks/PHP/zend1/setup.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-fw_depends php5 nginx composer
+fw_depends php7 nginx composer
 
 sed -i 's|host = "localhost"|host = "'"${DBHOST}"'"|g' application/configs/application.ini
 sed -i 's|root .*/FrameworkBenchmarks/php-zend-framework1|root '"${TROOT}"'|g' deploy/nginx.conf

+ 3 - 3
toolset/setup/linux/frameworks/phalcon.sh

@@ -10,9 +10,9 @@ RETCODE=$(fw_exists ${IROOT}/phalcon.installed)
 # Enable the PHP phalcon extension
 sed -i 's|;extension=phalcon.so|extension=phalcon.so|g' $PHP_HOME/lib/php.ini
 
-fw_get -O https://github.com/phalcon/cphalcon/archive/phalcon-v1.3.2.tar.gz
-fw_untar phalcon-v1.3.2.tar.gz
-cd cphalcon-phalcon-v1.3.2/build/64bits 
+fw_get -O https://github.com/phalcon/cphalcon/archive/phalcon-v2.0.13.tar.gz
+fw_untar phalcon-v2.0.13.tar.gz
+cd cphalcon-phalcon-v2.0.13/build/64bits 
 $PHP_HOME/bin/phpize
 # For some reason we have to point to php-config 
 # explicitly, it's not found by the prefix settings