Я протестировал скрипт оболочки, используя putty для подключения к моему сайту, но мне пришлось:
cd /home/username/bin //which is where my cake console is located
Тогда я мог запустить команду, которая была:
cake email second_user
Я не мог заставить это работать, используя способ, описанный в документации, где вы просто перейдете в корневую папку и запустите команду bin / cake email second_user.
Если я попробую так, я получу эту ошибку:
Failed loading /usr/php/56/usr/lib64/php/modules/ZendGuardLoader.so: /usr/php/56/usr/lib64/php/modules/ZendGuardLoader.so: undefined symbol: zend_new_interned_string
Failed loading /usr/php/56/usr/lib64/php/modules/opcache.so: /usr/php/56/usr/lib64/php/modules/opcache.so: undefined symbol: zend_new_interned_string
Status: 500 Internal Server Error
Content-type: text/html
Это также та же ошибка, которую я получаю, когда пытаюсь настроить работу cron с помощью bluehost.
Cakephp 3 документация говорит использовать:
cd /full/path/to/root && bin/cake myshell myparam
Я пытался использовать этот тип команды безрезультатно.
Затем я попытался также обойти версию с заданием cron, где я просто использую фактическое местоположение бина для запуска торта следующим образом:
php-cgi -c /home/username/public_html/php.ini /home/username/bin/cake email second_user > /home/username/logs/cron_logs.txt 2>&1
Но я получаю это в моем файле журнала (который также имеет ту же ошибку, что и выше):
Failed loading /usr/php/56/usr/lib64/php/modules/ZendGuardLoader.so: /usr/php/56/usr/lib64/php/modules/ZendGuardLoader.so: undefined symbol: zend_new_interned_string
Failed loading /usr/php/56/usr/lib64/php/modules/opcache.so: /usr/php/56/usr/lib64/php/modules/opcache.so: undefined symbol: zend_new_interned_string
################################################################################
#
# Cake is a shell script for invoking CakePHP shell commands
#
# CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
# Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
#
# Licensed under The MIT License
# For full copyright and license information, please see the LICENSE.txt
# Redistributions of files must retain the above copyright notice.
#
# @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
# @link http://cakephp.org CakePHP(tm) Project
# @since 1.2.0
# @license http://www.opensource.org/licenses/mit-license.php MIT License
#
################################################################################
# Canonicalize by following every symlink of the given name recursively
canonicalize() {
NAME="$1"if [ -f "$NAME" ]
then
DIR=$(dirname -- "$NAME")
NAME=$(cd -P "$DIR" > /dev/null && pwd -P)/$(basename -- "$NAME")
fi
while [ -h "$NAME" ]; do
DIR=$(dirname -- "$NAME")
SYM=$(readlink "$NAME")
NAME=$(cd "$DIR" > /dev/null && cd $(dirname -- "$SYM") > /dev/null && pwd)/$(basename -- "$SYM")
done
echo "$NAME"}
CONSOLE=$(dirname -- "$(canonicalize "$0")")
APP=$(dirname "$CONSOLE")
exec php "$CONSOLE"/cake.php "$@"exit
Если я использую торт.php (или любую другую команду в этом отношении) вместо простого торта, я просто получаю ошибки загрузки.
Также register_argc_argv включен.
Может кто-нибудь, пожалуйста, помогите?
Я не уверен, что это можно сделать. Поскольку php 5.6 на bluehost — это скорее бета-тестирование, я не могу заставить его работать. Мне пришлось переключиться на php 5.4, и тогда я смог получить работу cron.
Других решений пока нет …