Opened 6 years ago

Closed 6 years ago

#39512 closed request (fixed)

php-opcache: add port

Reported by: macports.org@… Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: php-opcache

Description (last modified by ryandesign (Ryan Schmidt))

PHP 5.5 introduces a new feature, OPcache:

To use it with PHP 5.5, it must be built with --enable-opcache:

However, the current php55 port does have this configured:

$ php -v
PHP 5.5.0 (cli) (built: Jun 22 2013 00:21:42) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0-dev, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

$ php -i | grep "^Configure Command" | fold -s
Configure Command =>  './configure'  '--prefix=/opt/local' 
'--mandir=/opt/local/share/man' '--infodir=/opt/local/share/info' 
'--program-suffix=55' '--includedir=/opt/local/include/php55' 
'--libdir=/opt/local/lib/php55' '--with-config-file-path=/opt/local/etc/php55' 
'--with-config-file-scan-dir=/opt/local/var/db/php55' '--disable-all' 
'--enable-bcmath' '--enable-ctype' '--enable-dom' '--enable-fileinfo' 
'--enable-filter' '--enable-hash' '--enable-json' '--enable-libxml' 
'--enable-pdo' '--enable-phar' '--enable-session' '--enable-simplexml' 
'--enable-tokenizer' '--enable-xml' '--enable-xmlreader' '--enable-xmlwriter' 
'--with-bz2=/opt/local' '--with-mhash=/opt/local' 
'--with-pcre-regex=/opt/local' '--with-libxml-dir=/opt/local' 
'--with-zlib=/opt/local' '--without-pear' '--disable-cgi' '--disable-fpm' 
'--enable-cli' '--with-libedit=/opt/local'

The source confirms this:

Please build the php55 port with the --enable-opcache flag.

Thanks for your consideration.

Change History (7)

comment:1 Changed 6 years ago by larryv (Lawrence Velázquez)

Keywords: php php55 enable opcache compilation flag removed
Owner: changed from macports-tickets@… to ryandesign@…
Type: defectenhancement

Thanks for the ticket. In the future, please Cc relevant port maintainers.

comment:2 Changed 6 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)
Port: php-opcache added; php55 removed
Status: newassigned
Summary: php55 @5.5.0_0+libedit: build needs --enable-opcachephp-opcache: add port
Type: enhancementrequest
Version: 2.1.3

The page you linked to says this is an extension. So we need a new php-opcache port for it.

comment:3 Changed 6 years ago by macports.org@…

I'll defer to your expertise in how this functionality should be delivered, but it seems that while it can be compiled as a PECL extension for PHP 5.4 & 5.3, the documentation says that PHP 5.5 must be built with it:

From http://php.net/manual/en/opcache.installation.php:

PHP 5.5.0 and later

To use OPcache with PHP 5.5.0 or later, you must compile PHP with the --enable-opcache option, then use the zend_extension configuration directive to load the library at runtime.


Perhaps a possible solution is to compile the php55 port with --enable-opcache, but separate the library file and configuration directive to a php55-opcache port?

Last edited 6 years ago by macports.org@… (previous) (diff)

comment:4 in reply to:  3 ; Changed 6 years ago by ryandesign (Ryan Schmidt)

Replying to macports.org@…:

I'll defer to your expertise in how this functionality should be delivered, but it seems that while it can be compiled as a PECL extension for PHP 5.4 & 5.3, the documentation says that PHP 5.5 must be built with it:

From http://php.net/manual/en/opcache.installation.php:

PHP 5.5.0 and later

To use OPcache with PHP 5.5.0 or later, you must compile PHP with the --enable-opcache option, then use the zend_extension configuration directive to load the library at runtime.

The documentation has the same wording for all the extensions. Take curl for instance:

http://php.net/manual/en/curl.installation.php

To use PHP's cURL support you must also compile PHP --with-curl[=DIR]

We want PHP modules as a separate ports, so that having already installed php, you can later decide to easily add and remove extensions. This is accomplished by running configure and make and make install a separate time, with only the configure options to enable the given extension.

comment:5 in reply to:  4 Changed 6 years ago by macports.org@…

Replying to ryandesign@…:

We want PHP modules as a separate ports, so that having already installed php, you can later decide to easily add and remove extensions. This is accomplished by running configure and make and make install a separate time, with only the configure options to enable the given extension.


Ah, thank you for clarifying -- seems like an elegant solution to the end user to give them the flexibility they might need. -Cheers

comment:6 Changed 6 years ago by ryandesign (Ryan Schmidt)

Added php-opcache for php53 and php54 in r107248. Still thinking about how I want to handle the php55 version (as part of the php-opcache port, or as a subport of the php port).

comment:7 Changed 6 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: assignedclosed

Added php55-opcache subport to php port in r107250.

Note: See TracTickets for help on using tickets.