phalcon / packagecloud

:cloud: Phalcon Build Project
https://packagecloud.io/phalcon
BSD 3-Clause "New" or "Revised" License
26 stars 4 forks source link

Debian package doesn't trigger a reload on install/upgrade #25

Open sergeyklay opened 6 years ago

sergeyklay commented 6 years ago

From @billux on March 30, 2018 15:7

Expected and Actual Behavior

After installing or upgrading php7.0-phalcon Debian package, the package should trigger the reload of php-fpm or Apache (if mod_php is used) as others PHP packages do.

I'm not an expert in Debian packaging so I compared the php7.0-phalcon package with another PHP extention package (php7.0-intl) and I noticed that the debian/triggers (related manpage) file is missing in php7.0-phalcon.

Here is with the content of the file from php7.0-intl package :

activate-noawait /etc/php/7.0/apache2/conf.d
activate-noawait /etc/php/7.0/apache2filter/conf.d
activate-noawait /etc/php/7.0/fpm/conf.d

Details

phalcon

Web framework delivered as a C-extension for PHP phalcon => enabled Author => Phalcon Team and contributors Version => 3.3.2 Build Date => Mar 10 2018 14:43:15 Powered by Zephir => Version 0.10.7-2917ebe8ae

Directive => Local Value => Master Value phalcon.db.escape_identifiers => On => On phalcon.db.force_casting => Off => Off phalcon.orm.cast_on_hydrate => Off => Off phalcon.orm.column_renaming => On => On phalcon.orm.disable_assign_setters => Off => Off phalcon.orm.enable_implicit_joins => On => On phalcon.orm.enable_literals => On => On phalcon.orm.events => On => On phalcon.orm.exception_on_failed_save => Off => Off phalcon.orm.ignore_unknown_columns => Off => Off phalcon.orm.late_state_binding => Off => Off phalcon.orm.not_null_validations => On => On phalcon.orm.update_snapshot_on_save => On => On phalcon.orm.virtual_foreign_keys => On => On

* PHP Version: (`php -v`)

php -v

PHP 7.0.28-1~dotdeb+8.1 (cli) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.28-1~dotdeb+8.1, Copyright (c) 1999-2017, by Zend Technologies


* Operating System: Debian jessie
* Installation type: installing via package manager
* Server: Nginx + php-fpm

_Copied from original issue: phalcon/cphalcon#13338_
sergeyklay commented 6 years ago

From @stamster on April 3, 2018 8:52

You're using packagecloud repo?

I'm not 100% sure, but I believe it does reload FPM daemon after new version is released and fetched.

If not, what's the problem to run systemctl reload php7.0-fpm?

sergeyklay commented 6 years ago

From @billux on April 3, 2018 15:59

I'm using the package from packagecloud repo.

The problem is that the package installation leaves the system in an inconsistent state and PHP throw errors like

[30-Mar-2018 09:32:08 UTC] PHP Fatal error:  Uncaught Error: Class 'Phalcon\Debug' not found in /somedir/index.php:10
Stack trace:
#0 {main}
  thrown in /somedir/index.php on line 10

until I manually reload php-fpm.

This is problematic if you have, for example, enabled unattended-upgrades on your servers or other (semi-)automated upgrade techniques.

stamster commented 6 years ago

Well, it's always wise to have control over your production app. But as @sergeyklay moved it to proper spot - it's confirmed as bug I guess.