Skip to content

[BUG] 手动安装 PHP 扩展无效是 BUG 还是我的操作有问题? #4366

Closed

Description

@benzBrake

联系方式

896149631

1Panel 版本

v1.10.2-lts

问题描述

我是按照 https://bbs.fit2cloud.com/t/topic/2073 这个文档手动安装 SourceGuardian 扩展
装上以后跑源码还是提示安装扩展

PHP script '/www/sites/my.domain/[打码]' is protected by SourceGuardian and requires a SourceGuardian loader 'ixed.7.4.lin' to be installed.

1) Click here to download the required 'ixed.7.4.lin' loader from the SourceGuardian site
2) Install the loader to /usr/local/lib/php/extensions/no-debug-non-zts-20190902
3) Edit /usr/local/etc/php/php.ini and add 'extension=ixed.7.4.lin' directive
4) Restart the web server

重现步骤

1.应用管理里打开数据存储目录,上传 ixed.7.4.lin
2.打开容器的终端,检查

/www # cd /php/extensions/
/php/extensions # ls
ixed.7.4.lin

3.修改网站的 php.ini,最后加入

extension = /php/extensions/ixed.7.4.lin

搜狗截图20240331233656

4.保存并重启容器

期待的正确结果

No response

相关日志输出

2400:cb00:22:1024::a29e:77a7 - - [31/Mar/2024:23:10:50 +0800] "GET /action/plugins-edit?[打码] HTTP/2.0" 200 426 "https://my.domain/admin/plugins.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"
2400:cb00:22:1024::a29e:77a7 - - [31/Mar/2024:23:13:02 +0800] "GET /action/plugins-edit?[打码] HTTP/2.0" 200 426 "https://my.domain/admin/plugins.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"
2400:cb00:22:1024::a29e:77a7 - - [31/Mar/2024:23:13:04 +0800] "GET /action/plugins-edit?[打码] HTTP/2.0" 200 426 "https://my.domain/admin/plugins.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"
2400:cb00:22:1024::a29e:77c0 - - [31/Mar/2024:23:15:46 +0800] "GET /action/plugins-edit?[打码] HTTP/2.0" 200 426 "https://my.domain/admin/plugins.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"

附加信息

我同时测试了 PHP8.2 和 PHP7.4 都不行,并且按照文档构建 php 镜像的时候扩展填 sg11、sg14或者sourceguardian都不行

Activity

  1. wujinpai commented on Apr 1, 2024

    @wujinpai

    容器有问题吧

  2. wujinpai commented on Apr 1, 2024

    @wujinpai

    我也遇到了自定义扩展问题

  3. wujinpai commented on Apr 3, 2024

    @wujinpai

    解决了吗

  4. benzBrake commented on Apr 3, 2024

    @benzBrake
    Author

    解决了吗

    没有,用自己构建容器了

  5. wujinpai commented on Apr 3, 2024

    @wujinpai

    解决了吗

    没有,用自己构建容器了

    怎么构建的。构建成功了没有

  6. benzBrake commented on Apr 3, 2024

    @benzBrake
    Author

    解决了吗

    没有,用自己构建容器了

    怎么构建的。构建成功了没有

    从Docker官方构建的PHP镜像安装扩展就行,这是我用的Dockerfile参考 https://github.com/benzBrake/VPSReady/blob/main/Dockerfiles/php

  7. wujinpai commented on Apr 3, 2024

    @wujinpai

    解决了吗

    没有,用自己构建容器了

    怎么构建的。构建成功了没有

    从Docker官方构建的PHP镜像安装扩展就行,这是我用的Dockerfile参考 https://github.com/benzBrake/VPSReady/blob/main/Dockerfiles/php

    把你构建用的dockerfile发我参考一下

  8. benzBrake commented on Apr 3, 2024

    @benzBrake
    Author

    解决了吗

    没有,用自己构建容器了

    怎么构建的。构建成功了没有

    从Docker官方构建的PHP镜像安装扩展就行,这是我用的Dockerfile参考 benzBrake/VPSReady@main/Dockerfiles/php

    把你构建用的dockerfile发我参考一下

    差不多的,你没看链接的仓库是我的仓库嘛,只是多装了几个扩展

    FROM php:8.2-fpm
    # Add User
    RUN groupadd -g 1000 kkp \
        && useradd -s /bin/bash -u 1000 -g 1000 kkp
    # Install Requirments
    RUN apt-get update && apt-get install -y \
            libfreetype6-dev \
            libjpeg62-turbo-dev \
            libpng-dev \
            libwebp-dev \
            libcurl4-openssl-dev \
            libzip-dev \
            libpq-dev \
            libxml2-dev \
            libonig-dev \
            locales \
            sendmail
    # Install PHP Extensions
    RUN docker-php-ext-configure gd --with-freetype --with-webp --with-jpeg --with-freetype \
        && docker-php-ext-install -j$(nproc) gd \
        && docker-php-ext-install pdo pdo_mysql pdo_pgsql curl zip bcmath xml mbstring\
        && locale-gen zh_CN.UTF-8 \
        && dpkg-reconfigure locales \
        && echo "sendmail_path=/usr/sbin/sendmail -t -i" >> /usr/local/etc/php/conf.d/sendmail.ini \
    # Install SourceGuardian
    RUN php -v | head -n1 && PHP_VERSION=$(php -v | head -n1 | awk '{print $2}' | awk -F'.' '{print $1"."$2}') \
        && mkdir -p /tmp/sourceguardian \
        && cd /tmp/sourceguardian \
        && curl -Os https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.tar.gz \
        && tar xzf loaders.linux-x86_64.tar.gz \
        && cp ixed.${PHP_VERSION}.lin "$(php -i | grep '^extension_dir =' | cut -d' ' -f3)/sourceguardian.so" \
        && echo "extension=sourceguardian.so" > /usr/local/etc/php/conf.d/15-sourceguardian.ini \
        && rm -rf /tmp/sourceguardian
    # Install Composer
    RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
        composer --version
    USER kkp
    CMD ["php-fpm", "--nodaemonize"]
    
  9. wujinpai commented on Apr 3, 2024

    @wujinpai

    解决了吗

    没有,用自己构建容器了

    怎么构建的。构建成功了没有

    从Docker官方构建的PHP镜像安装扩展就行,这是我用的Dockerfile参考 benzBrake/VPSReady@main/Dockerfiles/php

    把你构建用的dockerfile发我参考一下

    差不多的,你没看链接的仓库是我的仓库嘛,只是多装了几个扩展

    
    FROM php:8.2-fpm
    
    # Add User
    
    RUN groupadd -g 1000 kkp \
    
        && useradd -s /bin/bash -u 1000 -g 1000 kkp
    
    # Install Requirments
    
    RUN apt-get update && apt-get install -y \
    
            libfreetype6-dev \
    
            libjpeg62-turbo-dev \
    
            libpng-dev \
    
            libwebp-dev \
    
            libcurl4-openssl-dev \
    
            libzip-dev \
    
            libpq-dev \
    
            libxml2-dev \
    
            libonig-dev \
    
            locales \
    
            sendmail
    
    # Install PHP Extensions
    
    RUN docker-php-ext-configure gd --with-freetype --with-webp --with-jpeg --with-freetype \
    
        && docker-php-ext-install -j$(nproc) gd \
    
        && docker-php-ext-install pdo pdo_mysql pdo_pgsql curl zip bcmath xml mbstring\
    
        && locale-gen zh_CN.UTF-8 \
    
        && dpkg-reconfigure locales \
    
        && echo "sendmail_path=/usr/sbin/sendmail -t -i" >> /usr/local/etc/php/conf.d/sendmail.ini \
    
    # Install SourceGuardian
    
    RUN php -v | head -n1 && PHP_VERSION=$(php -v | head -n1 | awk '{print $2}' | awk -F'.' '{print $1"."$2}') \
    
        && mkdir -p /tmp/sourceguardian \
    
        && cd /tmp/sourceguardian \
    
        && curl -Os https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.tar.gz \
    
        && tar xzf loaders.linux-x86_64.tar.gz \
    
        && cp ixed.${PHP_VERSION}.lin "$(php -i | grep '^extension_dir =' | cut -d' ' -f3)/sourceguardian.so" \
    
        && echo "extension=sourceguardian.so" > /usr/local/etc/php/conf.d/15-sourceguardian.ini \
    
        && rm -rf /tmp/sourceguardian
    
    # Install Composer
    
    RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
    
        composer --version
    
    USER kkp
    
    CMD ["php-fpm", "--nodaemonize"]
    
    

    没大懂,这是直接构建的php镜像吗?

  10. wujinpai commented on Apr 3, 2024

    @wujinpai

    构建成功了,但是你创建网站可以了吗?

  11. locked and limited conversation to collaborators on Apr 8, 2024
  12. converted this issue into a discussion #4422 on Apr 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions