公司的swoole镜像是基于centos6.10,php版本是7.3,swoole的版本是4.5,但php没有安装yasd扩展!
用这个镜像的容器跑项目,要想进行swoole的debug,还必须安装它!
而这个扩展偏偏无法通过pecl或者docker-php-ext-install的方式安装。
虽然可以进入容器中去安装它,这里就分享一个自己制作的Dockerfile,可以一览无遗:
FROM centos:centos6.10
RUN echo 'nameserver 223.5.5.5' > /etc/resolv.conf; \
RUN mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup; \
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo; \
RUN yum clean all; \
RUN yum makecache; \
RUN yum install -y wget; \
RUN wget -O /cmake-3.18.0-Linux-x86_64.tar.gz https://cmake.org/files/v3.18/cmake-3.18.0-Linux-x86_64.tar.gz; \
RUN mkdir /usr/local/cmake-3.18.0; \
RUN tar -zxvf /cmake-3.18.0-Linux-x86_64.tar.gz --strip-components 1 -C /usr/local/cmake-3.18.0; \
RUN ln -s /usr/local/cmake-3.18.0/bin/cmake /usr/bin/cmake; \
RUN wget --no-check-certificate -O /libzip-1.5.2.tar.gz https://libzip.org/download/libzip-1.5.2.tar.gz; \
RUN tar -zxvf /libzip-1.5.2.tar.gz; \
RUN cd /libzip-1.5.2; \
RUN mkdir build; \
RUN cd build; \
RUN cmake ..; \
RUN make; \
RUN make install; \
RUN echo '/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64' >> /etc/ld.so.conf; \
RUN wget -O /php-7.3.33.tar.gz https://www.php.net/distributions/php-7.3.33.tar.gz; \
RUN tar -zxvf /php-7.3.33.tar.gz; \
RUN cd /php-7.3.33; \
RUN groupadd www; \
RUN useradd -g www -M -s /sbin/nologin www; \
RUN mkdir /usr/local/php-7.3.33; \
RUN mkdir /etc/php; \
RUN yum install -y gcc openssl openssl-devel libxml2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel; \
RUN yum install -y openldap openldap-devel bzip2 bzip2-devel; \
RUN ./configure \
--prefix=/usr/local/php-7.3.33/ \
--with-config-file-path=/etc/php/ \
--with-libdir=/lib64 \
--with-mysqli \
--with-pdo-mysql \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--with-mhash \
--with-ldap \
--disable-rpath \
--disable-ipv6 \
--enable-pcntl \
--enable-fpm \
--enable-sockets \
--enable-mbregex \
--enable-mbstring \
--enable-mysqlnd \
--enable-zip \
--enable-soap \
--enable-bcmath \
--enable-calendar \
--enable-opcache \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-inline-optimization; \
RUN make; \
RUN make install; \
RUN echo '[PHP]
engine = On
short_open_tag = On
asp_tags = Off
precision = 14
y2k_compliance = On
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = 17
allow_call_time_pass_reference = Off
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions = passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status,socket_bind,socket_listen,socket_accept,socket_write,socket_read,phpinfo,scandir,chgrp,chown,chmod,delete,rmdir,eval
disable_classes =
zend.enable_gc = On
expose_php = Off
max_execution_time = 30
max_input_time = 60
memory_limit = 128M
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
error_log = /data/logs/php-errors.log
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
html_errors = Off
variables_order = "EGPCS"
request_order = "GP"
register_globals = Off
register_long_arrays = Off
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 8M
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
doc_root =
user_dir =
enable_dl = Off
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
extension_dir = "/usr/local/php-7.3.33/lib/php/extensions/no-debug-non-zts-20180731"
;extension = redis.so
;extension = swoole.so
zend_extension = "/usr/local/php-7.3.33/lib/php/extensions/no-debug-non-zts-20180731/opcache.so"
[Date]
date.timezone = Asia/Chongqing
[filter]
[iconv]
[intl]
[sqlite]
[sqlite3]
[Pcre]
[Pdo]
[Pdo_mysql]
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=
[Phar]
[Syslog]
define_syslog_variables = Off
[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = On
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[Interbase]
ibase.allow_persistent = 1
ibase.max_persistent = -1
ibase.max_links = -1
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
ibase.dateformat = "%Y-%m-%d"
ibase.timeformat = "%H:%M:%S"
[MySQL]
mysql.allow_local_infile = On
mysql.allow_persistent = On
mysql.cache_size = 2000
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off
[OCI8]
[PostgreSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[bcmath]
bcmath.scale = 0
[browscap]
[Session]
;session.save_handler = redis
session.save_handler = file
;session.save_path = "tcp://ip:port?database=1"
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = Off
session.bug_compat_warn = Off
session.referer_check =
session.entropy_length = 0
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off
[Assertion]
[COM]
[mbstring]
[gd]
[exif]
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
[sysvshm]
[ldap]
ldap.max_links = -1
[mcrypt]
[dba]
[xsl]
[opencache]
opcache.memory_consumption = 128
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
opcache.enable_cli = 1
' > /etc/php/php.ini; \
RUN rm -f /cmake-3.18.0-Linux-x86_64.tar.gz; \
RUN rm -f /libzip-1.5.2.tar.gz; \
RUN rm -rf /libzip-1.5.2; \
RUN rm -f /php-7.3.33.tar.gz; \
RUN rm -rf /php-7.3.33
这样你能很清楚镜像的细节,放心修改和使用!
标签:Off,SWOOLE,--,RUN,PHP7.3,session,max,镜像,php From: https://www.cnblogs.com/xiaoxiaobug/p/17015432.html