if (! is_writable($dirname = dirname($this->manifestPath))) {
throw new Exception("The {$dirname} directory must be present and writable.");
}
$this->files->replace(
$this->manifestPath, '<?php return '.var_export($manifest, true).';'
);
return array_merge(['when' => []], $manifest);
}
/**
* Create a new provider instance.
*
* @param string $provider
* @return \Illuminate\Support\ServiceProvider
*/
public function createProvider($provider)
{
return new $provider($this->app);
}
}
"Class 'Spatie\Activitylog\ActivitylogServiceProvider' not found"
$this->app->make('events')->listen($events, function () use ($provider) {
$this->app->register($provider);
});
}
/**
* Compile the application service manifest file.
*
* @param array $providers
* @return array
*/
protected function compileManifest($providers)
{
// The service manifest should contain a list of all of the providers for
// the application so we can compare it on each request to the service
// and determine if the manifest should be recompiled or is current.
$manifest = $this->freshManifest($providers);
foreach ($providers as $provider) {
$instance = $this->createProvider($provider);
// When recompiling the service manifest, we will spin through each of the
// providers and check if it's a deferred provider or not. If so we'll
// add it's provided services to the manifest and note the provider.
if ($instance->isDeferred()) {
foreach ($instance->provides() as $service) {
$manifest['deferred'][$service] = $provider;
}
$manifest['when'][$provider] = $instance->when();
}
// If the service providers are not deferred, we will simply add it to an
// array of eagerly loaded providers that will get registered on every
// request to this application instead of "lazy" loading every time.
else {
$manifest['eager'][] = $provider;
}
}
$this->app = $app;
$this->files = $files;
$this->manifestPath = $manifestPath;
}
/**
* Register the application service providers.
*
* @param array $providers
* @return void
*/
public function load(array $providers)
{
$manifest = $this->loadManifest();
// First we will load the service manifest, which contains information on all
// service providers registered with the application and which services it
// provides. This is used to know which services are "deferred" loaders.
if ($this->shouldRecompile($manifest, $providers)) {
$manifest = $this->compileManifest($providers);
}
// Next, we will register events to load the providers for each of the events
// that it has requested. This allows the service provider to defer itself
// while still getting automatically loaded when a certain event occurs.
foreach ($manifest['when'] as $provider => $events) {
$this->registerLoadEvents($provider, $events);
}
// We will go ahead and register all of the eagerly loaded providers with the
// application so their services can be registered with the application as
// a provided service. Then we will set the deferred service list on it.
foreach ($manifest['eager'] as $provider) {
$this->app->register($provider);
}
$this->app->addDeferredServices($manifest['deferred']);
}
/**
{
return (bool) $this['config']->get('app.debug');
}
/**
* Register all of the configured providers.
*
* @return void
*/
public function registerConfiguredProviders()
{
$providers = Collection::make($this->make('config')->get('app.providers'))
->partition(function ($provider) {
return strpos($provider, 'Illuminate\\') === 0;
});
$providers->splice(1, 0, [$this->make(PackageManifest::class)->providers()]);
(new ProviderRepository($this, new Filesystem, $this->getCachedServicesPath()))
->load($providers->collapse()->toArray());
}
/**
* Register a service provider with the application.
*
* @param \Illuminate\Support\ServiceProvider|string $provider
* @param bool $force
* @return \Illuminate\Support\ServiceProvider
*/
public function register($provider, $force = false)
{
if (($registered = $this->getProvider($provider)) && ! $force) {
return $registered;
}
// If the given "provider" is a string, we will resolve it, passing in the
// application instance automatically for the developer. This is simply
// a more convenient way of specifying your service provider classes.
if (is_string($provider)) {
$provider = $this->resolveProvider($provider);
<?php
namespace Illuminate\Foundation\Bootstrap;
use Illuminate\Contracts\Foundation\Application;
class RegisterProviders
{
/**
* Bootstrap the given application.
*
* @param \Illuminate\Contracts\Foundation\Application $app
* @return void
*/
public function bootstrap(Application $app)
{
$app->registerConfiguredProviders();
}
}
{
$this->register(new EventServiceProvider($this));
$this->register(new LogServiceProvider($this));
$this->register(new RoutingServiceProvider($this));
}
/**
* Run the given array of bootstrap classes.
*
* @param string[] $bootstrappers
* @return void
*/
public function bootstrapWith(array $bootstrappers)
{
$this->hasBeenBootstrapped = true;
foreach ($bootstrappers as $bootstrapper) {
$this['events']->dispatch('bootstrapping: '.$bootstrapper, [$this]);
$this->make($bootstrapper)->bootstrap($this);
$this['events']->dispatch('bootstrapped: '.$bootstrapper, [$this]);
}
}
/**
* Register a callback to run after loading the environment.
*
* @param \Closure $callback
* @return void
*/
public function afterLoadingEnvironment(Closure $callback)
{
$this->afterBootstrapping(
LoadEnvironmentVariables::class, $callback
);
}
/**
* Register a callback to run before a bootstrapper.
Facade::clearResolvedInstance('request');
$this->bootstrap();
return (new Pipeline($this->app))
->send($request)
->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
->then($this->dispatchToRouter());
}
/**
* Bootstrap the application for HTTP requests.
*
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
{
return function ($request) {
$this->app->instance('request', $request);
return $this->router->dispatch($request);
};
}
/**
* Call the terminate method on any terminable middleware.
*
$this->app['events']->dispatch(
new RequestHandled($request, $response)
);
return $response;
}
/**
* Send the given request through the middleware / router.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendRequestThroughRouter($request)
{
$this->app->instance('request', $request);
Facade::clearResolvedInstance('request');
$this->bootstrap();
return (new Pipeline($this->app))
->send($request)
->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
->then($this->dispatchToRouter());
}
/**
* Bootstrap the application for HTTP requests.
*
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
public function __construct(Application $app, Router $router)
{
$this->app = $app;
$this->router = $router;
$this->syncMiddlewareToRouter();
}
/**
* Handle an incoming HTTP request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function handle($request)
{
try {
$request->enableHttpMethodParameterOverride();
$response = $this->sendRequestThroughRouter($request);
} catch (Throwable $e) {
$this->reportException($e);
$response = $this->renderException($request, $e);
}
$this->app['events']->dispatch(
new RequestHandled($request, $response)
);
return $response;
}
/**
* Send the given request through the middleware / router.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendRequestThroughRouter($request)
require_once __DIR__.'/../app/Helpers/PageBuilderHelper.php';
require __DIR__.'/../vendor/autoload.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request using
| the application's HTTP kernel. Then, we will send the response back
| to this client's browser, allowing them to enjoy our application.
|
*/
$app = require_once __DIR__.'/../bootstrap/app.php';
$kernel = $app->make(Kernel::class);
$response = tap($kernel->handle(
$request = Request::capture()
))->send();
$kernel->terminate($request, $response);
Key | Value |
USER | "www-data"
|
HOME | "/var/www"
|
HTTP_HOST | "theconferenceforum.org"
|
HTTP_REFERER | "http://theconferenceforum.org/conferences/disruptive-innovations-us/2018-agenda/"
|
HTTP_USER_AGENT | "claudebot"
|
HTTP_ACCEPT | "*/*"
|
REDIRECT_STATUS | "200"
|
SERVER_NAME | "pharmatalkwebinars.com"
|
SERVER_PORT | "443"
|
SERVER_ADDR | "172.31.7.197"
|
REMOTE_PORT | "41088"
|
REMOTE_ADDR | "34.204.177.148"
|
SERVER_SOFTWARE | "nginx/1.18.0"
|
GATEWAY_INTERFACE | "CGI/1.1"
|
HTTPS | "on"
|
REQUEST_SCHEME | "https"
|
SERVER_PROTOCOL | "HTTP/1.1"
|
DOCUMENT_ROOT | "/var/www/tcf-uat/public"
|
DOCUMENT_URI | "/index.php"
|
REQUEST_URI | "/conferences/disruptive-innovations-us/2018-agenda/"
|
SCRIPT_NAME | "/index.php"
|
CONTENT_LENGTH | "" |
CONTENT_TYPE | "" |
REQUEST_METHOD | "GET"
|
QUERY_STRING | "" |
SCRIPT_FILENAME | "/var/www/tcf-uat/public/index.php"
|
FCGI_ROLE | "RESPONDER"
|
PHP_SELF | "/index.php"
|
REQUEST_TIME_FLOAT | 1711622484.9746
|
REQUEST_TIME | 1711622484
|
APP_NAME | "Pharmatalk Webinars"
|
APP_ENV | "local"
|
APP_KEY | "base64:Biow6peh3ekGxX54D+wvihPYuxTA/kAbijdpB6q8mmM="
|
APP_DEBUG | "true"
|
APP_URL | "https://theconferenceforum.org"
|
LOG_CHANNEL | "stack"
|
LOG_LEVEL | "debug"
|
DB_CONNECTION | "mysql"
|
DB_HOST | "tcf-staging.cmktcjy75wwf.us-east-1.rds.amazonaws.com"
|
DB_PORT | "3306"
|
DB_DATABASE | "tcf_prod"
|
DB_USERNAME | "admin"
|
DB_PASSWORD | "NopasswordTCF2023"
|
BROADCAST_DRIVER | "log"
|
CACHE_DRIVER | "file"
|
FILESYSTEM_DRIVER | "local"
|
QUEUE_CONNECTION | "sync"
|
SESSION_DRIVER | "file"
|
SESSION_LIFETIME | "120"
|
MEMCACHED_HOST | "127.0.0.1"
|
REDIS_HOST | "127.0.0.1"
|
REDIS_PASSWORD | "null"
|
REDIS_PORT | "6379"
|
MAIL_MAILER | "smtp"
|
MAIL_HOST | "smtp.sendgrid.net"
|
MAIL_PORT | "587"
|
MAIL_USERNAME | "apikey"
|
MAIL_PASSWORD | "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"
|
MAIL_ENCRYPTION | "tls"
|
MAIL_FROM_NAME | "Pharmatalk Webinars"
|
MAIL_FROM_ADDRESS | "admin@tcfresearch.org"
|
AWS_ACCESS_KEY_ID | "" |
AWS_SECRET_ACCESS_KEY | "" |
AWS_DEFAULT_REGION | "us-east-1"
|
AWS_BUCKET | "conferences-cloud-staging"
|
AWS_USE_PATH_STYLE_ENDPOINT | "false"
|
AWS_PRIVATE_KEY_PEM | "aws_private_key.pem"
|
AWS_KEY_PAIR_ID | "K257SV5WW63PFE"
|
AWS_URL | "https://d38uvx7mib76ry.cloudfront.net"
|
PUSHER_APP_ID | "" |
PUSHER_APP_KEY | "" |
PUSHER_APP_SECRET | "" |
PUSHER_APP_CLUSTER | "mt1"
|
MIX_PUSHER_APP_KEY | "" |
MIX_PUSHER_APP_CLUSTER | "mt1"
|
INFUSIONSOFT_API_URL | "https://api.infusionsoft.com"
|
INFUSIONSOFT_API_TOKEN | "4TOVVfoJgjgEsTOyFGJo9r1KATVE"
|
INFUSIONSOFT_DEVELOPER_CLIENT_ID | "Bd45AlRBGezDjNx7JcykzVZkhSU2Djnc"
|
INFUSIONSOFT_DEVELOPER_CLIENT_SECRET | "57jjMAPhvY9J22yI"
|
TCF_VIDEO_MAX_DURATION | "7200"
|
STRIPE_PUBLIC_KEY | "pk_test_SKUjM5tfbuvuFrMl9vy2mBCI"
|
STRIPE_SECRET_KEY | "sk_test_sXOMl79TVbnDshEc8PxkcgJb"
|
STRIPE_PAYMENT_METHOD_TYPES | "card"
|
PAYPAL_CLIENT_ID | "AS_eHlqeHvfEEJMiMNE20yftN3bYvdDwqUFePALC4zMXsGrvAUZah7eXxqs4VcTSKH87HeMiuzOYpVjG"
|
PAYPAL_SECRET_KEY | "EGwdms-crxjA0cuMIcVYz9Vfye3mS8iEgkvpct7j2dFCf8L1wBFM01yaI3S6MdGDpNd5mlB1GrWV8NFY"
|
PAYPAL_ENVIRONMENT | "sandbox"
|
Key | Value |
APP_NAME | "Pharmatalk Webinars"
|
APP_ENV | "local"
|
APP_KEY | "base64:Biow6peh3ekGxX54D+wvihPYuxTA/kAbijdpB6q8mmM="
|
APP_DEBUG | "true"
|
APP_URL | "https://theconferenceforum.org"
|
LOG_CHANNEL | "stack"
|
LOG_LEVEL | "debug"
|
DB_CONNECTION | "mysql"
|
DB_HOST | "tcf-staging.cmktcjy75wwf.us-east-1.rds.amazonaws.com"
|
DB_PORT | "3306"
|
DB_DATABASE | "tcf_prod"
|
DB_USERNAME | "admin"
|
DB_PASSWORD | "NopasswordTCF2023"
|
BROADCAST_DRIVER | "log"
|
CACHE_DRIVER | "file"
|
FILESYSTEM_DRIVER | "local"
|
QUEUE_CONNECTION | "sync"
|
SESSION_DRIVER | "file"
|
SESSION_LIFETIME | "120"
|
MEMCACHED_HOST | "127.0.0.1"
|
REDIS_HOST | "127.0.0.1"
|
REDIS_PASSWORD | "null"
|
REDIS_PORT | "6379"
|
MAIL_MAILER | "smtp"
|
MAIL_HOST | "smtp.sendgrid.net"
|
MAIL_PORT | "587"
|
MAIL_USERNAME | "apikey"
|
MAIL_PASSWORD | "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"
|
MAIL_ENCRYPTION | "tls"
|
MAIL_FROM_NAME | "Pharmatalk Webinars"
|
MAIL_FROM_ADDRESS | "admin@tcfresearch.org"
|
AWS_ACCESS_KEY_ID | "" |
AWS_SECRET_ACCESS_KEY | "" |
AWS_DEFAULT_REGION | "us-east-1"
|
AWS_BUCKET | "conferences-cloud-staging"
|
AWS_USE_PATH_STYLE_ENDPOINT | "false"
|
AWS_PRIVATE_KEY_PEM | "aws_private_key.pem"
|
AWS_KEY_PAIR_ID | "K257SV5WW63PFE"
|
AWS_URL | "https://d38uvx7mib76ry.cloudfront.net"
|
PUSHER_APP_ID | "" |
PUSHER_APP_KEY | "" |
PUSHER_APP_SECRET | "" |
PUSHER_APP_CLUSTER | "mt1"
|
MIX_PUSHER_APP_KEY | "" |
MIX_PUSHER_APP_CLUSTER | "mt1"
|
INFUSIONSOFT_API_URL | "https://api.infusionsoft.com"
|
INFUSIONSOFT_API_TOKEN | "4TOVVfoJgjgEsTOyFGJo9r1KATVE"
|
INFUSIONSOFT_DEVELOPER_CLIENT_ID | "Bd45AlRBGezDjNx7JcykzVZkhSU2Djnc"
|
INFUSIONSOFT_DEVELOPER_CLIENT_SECRET | "57jjMAPhvY9J22yI"
|
TCF_VIDEO_MAX_DURATION | "7200"
|
STRIPE_PUBLIC_KEY | "pk_test_SKUjM5tfbuvuFrMl9vy2mBCI"
|
STRIPE_SECRET_KEY | "sk_test_sXOMl79TVbnDshEc8PxkcgJb"
|
STRIPE_PAYMENT_METHOD_TYPES | "card"
|
PAYPAL_CLIENT_ID | "AS_eHlqeHvfEEJMiMNE20yftN3bYvdDwqUFePALC4zMXsGrvAUZah7eXxqs4VcTSKH87HeMiuzOYpVjG"
|
PAYPAL_SECRET_KEY | "EGwdms-crxjA0cuMIcVYz9Vfye3mS8iEgkvpct7j2dFCf8L1wBFM01yaI3S6MdGDpNd5mlB1GrWV8NFY"
|
PAYPAL_ENVIRONMENT | "sandbox"
|