PHP程序创建可安装包

标签 php linux ubuntu

我有以下 PHP 脚本,我想创建一个人们可以轻松安装的包,类似于此:

sudo dpkg -i packagename.deb

关于如何执行此操作的任何想法?

/home/script.sh

#!/bin/bash
echo "Starting NAME service"
sudo -u root php -f /home/script.php &

/home/script.php

<?php

// The worker will execute every X seconds:
$seconds = 2;

// We work out the micro seconds ready to be used by the 'usleep' function.
$micro = $seconds * 1000000;

while(true){
 // This is the code you want to loop during the service...
 $myFile = "/home/filephp.txt";
 $fh = fopen($myFile, 'a') or die("Can't open file");
 $stringData = "File updated at: " . time(). "\n";
 fwrite($fh, $stringData);
 fclose($fh);

 // Now before we 'cycle' again, we'll sleep for a bit...
 usleep($micro);
}

/etc/systemd/system/name.service

[Unit]
Description=Crawler cache Service
After=network.target

[Service]
User=root
Restart=always
Type=forking
ExecStart=/home/script.sh

[Install]
WantedBy=multi-user.target

最佳答案

解决了创建以下文件夹树的问题:

> package_name/
>> DEBIAN/
>>> control
>> usr/
>>> share/
>>>> package_name/
>>>>> script.sh
>>>>> script.php
>> etc/
>>> systemd/
>>>> system/
>>>>> name.service

在“控制”文件中,您必须设置一些参数,例如版本号或依赖项。

Package: package_name
Version: 0.0.1
Section: base
Priority: optional
Architecture: all
Depends: php, php-curl
Maintainer: Marcos Aguayo <marcos@aguayo.es>
Description: Package description

之后您只需输入以下命令:

sudo dpkg-deb --build package_name/

当你有 .deb 包时,如果你想安装它,你可以使用这个命令:

sudo dpkg -i package_name.deb # --> Install .deb
systemctl start package_name  # --> Start the service

关于PHP程序创建可安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42804012/

相关文章:

javascript - 如何使用ajax获取php多个值到不同的Div中

php - 在 php 文件中将 javascript 代码显示为字符串

linux - 从 bash 中的变量打印倒数第二行

linux - 为什么这些 sudo 命令会失败?

python - 为 EC2 配置结构

php - SQL:选择没有任何行具有特定列值的 ID

php - 在上传到主服务器之前压缩 php 脚本

linux - 替代scp,通过开启并行连接在linux机器之间传输文件

python:子进程在使用 sudo 时给我不同的结果

ubuntu - 无法连接到 Azure 虚拟机上的 vsftpd