Browse Source

Fix phalcon-micro to v4 and php7.4 (#5551)

Joan Miquel 5 years ago
parent
commit
fa220003c7

+ 1 - 1
frameworks/PHP/phalcon/composer.json

@@ -1,6 +1,6 @@
 {
    "require": {
    	"mongodb/mongodb" : "1.0.2",
-   	"phalcon/incubator": "3.0.2"
+   	"phalcon/incubator": "^3.4"
    }
 }

+ 10 - 6
frameworks/PHP/phalcon/phalcon-micro.dockerfile

@@ -1,24 +1,28 @@
-FROM ubuntu:19.04
+FROM ubuntu:19.10
 
 ARG DEBIAN_FRONTEND=noninteractive
 
 RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
 RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
 RUN apt-get update -yqq > /dev/null && \
-    apt-get install -yqq nginx git unzip php7.3 php7.3-common php7.3-cli php7.3-fpm php7.3-mysql  > /dev/null
+    apt-get install -yqq nginx git unzip php7.4 php7.4-common php7.4-cli php7.4-fpm php7.4-mysql php7.4-phalcon > /dev/null
 
-COPY deploy/conf/* /etc/php/7.3/fpm/
+RUN apt-get install -yqq composer > /dev/null
+
+COPY deploy/conf/* /etc/php/7.4/fpm/
 
 ADD ./ /phalcon
 WORKDIR /phalcon
 
-RUN if [ $(nproc) = 2 ]; then sed -i "s|pm.max_children = 1024|pm.max_children = 512|g" /etc/php/7.3/fpm/php-fpm.conf ; fi;
+#RUN apt-get install -yqq php7.4-phalcon  > /dev/null
+
+RUN if [ $(nproc) = 2 ]; then sed -i "s|pm.max_children = 1024|pm.max_children = 512|g" /etc/php/7.4/fpm/php-fpm.conf ; fi;
 
-RUN apt-get install -yqq php7.3-phalcon php7.3-dev  > /dev/null
+RUN composer install --optimize-autoloader --classmap-authoritative --no-dev --ignore-platform-reqs
 
 RUN mv /phalcon/public/index-micro.php /phalcon/public/index.php
 
 RUN chmod -R 777 app
 
-CMD service php7.3-fpm start && \
+CMD service php7.4-fpm start && \
     nginx -c /phalcon/deploy/nginx.conf -g "daemon off;"

+ 9 - 9
frameworks/PHP/phalcon/public/index-micro.php

@@ -23,14 +23,14 @@ try {
         $view->setViewsDir(__DIR__ . '/../app/views/');
 
         $view->registerEngines(array(
-            ".volt" => function($view, $di) {
+            ".volt" => function($view) {
 
-                $volt = new \Phalcon\Mvc\View\Engine\Volt($view, $di);
+                $volt = new \Phalcon\Mvc\View\Engine\Volt($view);
 
                 $volt->setOptions(array(
-                    "compiledPath" => __DIR__ . "/../app/compiled-templates/",
-                    "compiledExtension" => ".c",
-                    "compiledSeparator" => '_',
+                    "path" => __DIR__ . "/../app/compiled-templates/",
+                    "extension" => ".c",
+                    "separator" => '_',
                 ));
 
                 return $volt;
@@ -51,7 +51,7 @@ try {
 
         $db = $app['db'];
         
-        $world = $db->fetchOne('SELECT * FROM world WHERE id = ' . mt_rand(1, 10000), Phalcon\Db::FETCH_ASSOC);
+        $world = $db->fetchOne('SELECT * FROM world WHERE id = ' . mt_rand(1, 10000), Phalcon\Db\Enum::FETCH_ASSOC);
 
         echo json_encode($world);
     });
@@ -69,7 +69,7 @@ try {
         $worlds = array();
 
         for ($i = 0; $i < $queries; ++$i) {
-            $worlds[] = $db->fetchOne('SELECT * FROM world WHERE id = ' . mt_rand(1, 10000), Phalcon\Db::FETCH_ASSOC);
+            $worlds[] = $db->fetchOne('SELECT * FROM world WHERE id = ' . mt_rand(1, 10000), Phalcon\Db\Enum::FETCH_ASSOC);
         }
 
         echo json_encode($worlds);
@@ -106,8 +106,8 @@ try {
         ));
 
     });
-
-    $app->handle();
+    $request = new Phalcon\Http\Request();
+    $app->handle($request->getURI());
 
 } catch(\Phalcon\Exception $e) {
     echo "PhalconException: ", $e->getMessage();