使用https://www.github.com/yeszao/dnmp搭建php8.0.3环境

通过孟繁永

使用https://www.github.com/yeszao/dnmp搭建php8.0.3环境

基本的安装步骤请看官方文档,这里仅就php8说一下。之前7及以下版本直接按指示操作即可,没有遇到问题,如果遇到github等网络不通的情况,等一等再试,或者想办法出个国。

需要php8的,打开.env将php7下的版本号直接改为8.0.3,或者复制php7的配置新建一个php8。

#
# PHP7
#
# Available PHP_EXTENSIONS:
#
# pdo_mysql,zip,pcntl,mysqli,mbstring,exif,bcmath,calendar,
# sockets,gettext,shmop,sysvmsg,sysvsem,sysvshm,pdo_rebird,
# pdo_dblib,pdo_oci,pdo_odbc,pdo_pgsql,pgsql,oci8,odbc,dba,
# gd,intl,bz2,soap,xsl,xmlrpc,wddx,curl,readline,snmp,pspell,
# recode,tidy,gmp,imap,ldap,imagick,sqlsrv,mcrypt,opcache,
# redis,memcached,xdebug,swoole,pdo_sqlsrv,sodium,yaf,mysql,
# amqp,mongodb,event,rar,ast,yac,yaconf,msgpack,igbinary,
# seaslog,varnish,xhprof,xlswriter
#
# You can let it empty to avoid installing any extensions,
# or install multi plugins as:
# PHP_EXTENSIONS=pdo_mysql,mysqli,gd,curl,opcache
#
#PHP_VERSION=7.4.7
PHP_VERSION=8.0.3
PHP_PHP_CONF_FILE=./services/php/php.ini
PHP_FPM_CONF_FILE=./services/php/php-fpm.conf
PHP_LOG_DIR=./logs/php
PHP_EXTENSIONS=mysql,pdo_mysql,mysqli,mbstring,gd,curl,opcache,redis,xdebug,imap,mcrypt,zip

如上,用docker-compose build php然后docker-compose up php。

这个时候打开php项目,有可能会报could not find driver的错误。那就是mysql的扩展没装好。

可以用下面的办法来安装:

docker exec -it php /bin/sh

install-php-extensions pdo_mysql
同理,也可以安装redis扩展install-php-extensions redis
这时候打开phpinfo看看有没有pdo_mysql和redis。

如果需要在本地打开xdebug,还是用上面的办法install-php-extensions xdebug
这时候,还需要修改一下php.ini,因为xdebug最新是3的版本了,配置项改了。

把原来的xdebug配置改成下面的即可。
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
; Set to host.docker.internal on Mac and Windows, otherwise, set to host real ip
xdebug.remote_host = 192.168.100.100
; xdebug.remote_port = 9000
xdebug.remote_autostart=1
xdebug.remote_log = /var/log/php/xdebug.log


xdebug.mode=debug
xdebug.client_host=192.168.100.100
xdebug.start_with_request=yes
xdebug.log=/var/log/php/xdebug.log
如果用vscode调试的话,在.vscode下面创建launch.json并填入:
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "pathMappings": {
                "/www/shang/openexhibitions/api": "${workspaceRoot}"
            }
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9003
        }
    ]
}

注意,端口号是9003,之前xdebug是9000

关于作者

孟繁永 administrator

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据