小编Urm*_*Lmn的帖子

在Docker中安装XDebug

我试图在Docker容器中安装XDebug,但出现以下错误:

E: Unable to locate package php-xdebug
Run Code Online (Sandbox Code Playgroud)

这是我的Dockerfile:

FROM php:7.0-apache

RUN a2enmod rewrite

RUN docker-php-ext-install pdo pdo_mysql

RUN apt-get install php-xdebug -y

COPY php.ini /usr/local/etc/php/
COPY . /var/www/html/
Run Code Online (Sandbox Code Playgroud)

当我在计算机上运行相同的命令时,XDebug正在安装,没有任何错误:

apt-get install php-xdebug
Run Code Online (Sandbox Code Playgroud)

有人知道问题可能在哪里吗?

先感谢您!

php installation xdebug docker

5
推荐指数
5
解决办法
6336
查看次数

Python:无法从 FileStorage 对象读取

我有一个.xlsx文件并将其转换为一个.csv文件。然后我将.csv文件上传到我编写的 Python 脚本中,但抛出错误。

由于文件是通过 HTTP 上传的,因此我使用file = request.files['file']. 这将返回一个类型为 的文件FileStorage。在我尝试用对象读取它之后,StringIO如下所示:

io.StringIO(file.stream.read().decode("UTF8"), newline=None)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: initial_value must be str or None, not bytes
Run Code Online (Sandbox Code Playgroud)

FileStorage我还尝试以这种方式读取对象文件:

file_data = file.read().decode("utf-8")
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 97: invalid start byte
Run Code Online (Sandbox Code Playgroud)

也许有趣的是,我可以使用以下代码直接读取该文件,即作为 csv 文件:

with open('file_path', 'r') as file:
   csv_reader = csv.reader(file, delimiter=";")
   ...
Run Code Online (Sandbox Code Playgroud)

但由于我试图从上传按钮获取文件,即input类型为 的 HTML 元素file,如上所述,我得到了一个FileStorage对象,但我无法读取它。

任何人都知道我该如何处理这个问题?

先感谢您!

python csv io flask

5
推荐指数
1
解决办法
1万
查看次数

Kubernetes - 在一个 Pod 中创建两个容器

我正在开发一个包含两个容器的应用程序。我想将它们在 Kubernetes 中部署到一个 Pod 中,因为我希望这两个服务位于一个 IP 地址之后。但是,我很难尝试将 kubernetes 服务与容器连接起来。我怎么能写一个deployment.yml文件,这样当用户调用 a 时x.x.x.x:port1,请求被转发到第一个容器,当x.x.x.x:port2被调用时,请求被转发到第二个容器。我如何指定服务?

这是我到目前为止所拥有的:

apiVersion:v1
kind: Pod
metadata:
  name: my_app
spec:
  containers:
  - name: first_container
    image: first_image

  - name: second_container
    image: second_image
---
apiVersion: v1
kind: Service
...
Run Code Online (Sandbox Code Playgroud)

先感谢您!

deployment docker kubernetes

3
推荐指数
1
解决办法
2936
查看次数

Docker容器在运行php代码后立即退出

我目前正在使用 Slim 框架开发 RESTful API,并尝试在 Docker 容器上运行它。然而问题是,该脚本只运行一次,然后自动从 docker 退出,退出代码为 0,即它捕获对 index.php 页面的第一个 http 请求,返回它,然后退出。

我确信,一定有一种方法可以在容器上运行 apache,这样每次我在本地浏览器上发出对特定 URL(如 localhost:8080/api/something)的请求时,apache 服务器就可以在容器中运行将处理这些请求。但是,由于我以前没有任何使用 docker 的经验,所以目前无法解决这个问题。

这是我的 Dockerfile:

FROM php:7.0-cli
COPY . /usr/src/my_app
WORKDIR /usr/src/my_app/public
CMD [ "php", "./index.php" ]
Run Code Online (Sandbox Code Playgroud)

这是我的 Docker-compose 文件:

version: '2'

services:
   app:
      build: ./app
      volumes:
         - ./app:/usr/src/app
      ports:
         - 5001:80
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何更改我的 Dockerfile 或 Docker-compose 文件,以便 apache 服务器在第一个请求后不会退出,但它仍然运行并侦听其他请求。

先感谢您!

php rest slim docker

2
推荐指数
1
解决办法
3194
查看次数

Angular - Obeservable无法正常工作

我有以下代码无法正常工作.

我有一项服务,为用户提供注册.

register(firstname: string, lastname: string, email: string, password: string): Observable<boolean> {
    let body = {firstname: firstname, lastname: lastname, email: email, password: password};

    this.http.post(this.base_url + "api/register/user/", body)
    .subscribe(
        (data) => {
            if((data as any).status == 'success') {
                return Observable.of(true);
            }
        },
        (error) => {
           return Observable.of(false);
    });
    return Observable.of(false);
  }
Run Code Online (Sandbox Code Playgroud)

注册方法工作正常,因为我注册用户的API返回"成功".问题是当我调用它时如下:

registerUser(e) {

    ...

    let isRegistered = false;

    this.userService.register(firstname, lastname, email, password).subscribe(register => isRegistered = register);


    if(isRegistered) {
        console.log("isRegistered = true");
        this.router.navigate(['/home']);
        return true;
    } else {
        console.log("isRegistered = false"); …
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular

1
推荐指数
1
解决办法
68
查看次数