Я подозреваю (у меня нет окна Ubuntu для проверки), что проблема связана с разницей между php-cgi и прямым php, используемым в командной строке. Похоже, что Ubuntu использует phpX-cgi при установке стека LAMP. Версия cgi использует файл php.ini, и это может еще больше усложнить ситуацию, поскольку изменит путь к cwd.
Чтобы запускать что-то при запуске в CentOS 7, Fedora и последних версиях Ubuntu, вам необходимо создать модуль systemd . В вашем вопросе есть устаревший сценарий инициализации, который больше не нужен.
Простой единичный файл может выглядеть так:
[Service]
Type=simple
ExecStart=/bin/myservice
[Install]
WantedBy=multi-user.target
Если предположить, что / bin / myservice
работает на переднем плане, приведенное выше - действительно все, что вам нужно. Вы поместите это в /etc/systemd/system/myservice.service
, если вы просто настраиваете что-то в своей собственной системе, или в /usr/lib/systemd/system/myservice.service
, если вы создаете пакет для распространения, а затем:
systemctl start myservice
systemctl enable myservice
Такие инструменты, как chkconfig
и update-rc.d
, являются устаревшими инструментами, которые не нужны в средах, работающих под управлением systemd.